rtsx_gops.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /* Driver for Realtek PCI-Express card reader
  2. *
  3. * Copyright(c) 2009-2013 Realtek Semiconductor Corp. All rights reserved.
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms of the GNU General Public License as published by the
  7. * Free Software Foundation; either version 2, or (at your option) any
  8. * later version.
  9. *
  10. * This program is distributed in the hope that it will be useful, but
  11. * WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License along
  16. * with this program; if not, see <http://www.gnu.org/licenses/>.
  17. *
  18. * Author:
  19. * Micky Ching <micky_ching@realsil.com.cn>
  20. */
  21. #include <linux/mfd/rtsx_pci.h>
  22. #include "rtsx_pcr.h"
  23. int rtsx_gops_pm_reset(struct rtsx_pcr *pcr)
  24. {
  25. int err;
  26. /* init aspm */
  27. rtsx_pci_write_register(pcr, ASPM_FORCE_CTL, 0xFF, 0x00);
  28. err = rtsx_pci_update_cfg_byte(pcr, LCTLR, ~LCTLR_ASPM_CTL_MASK, 0x00);
  29. if (err < 0)
  30. return err;
  31. /* reset PM_CTRL3 before send buffer cmd */
  32. return rtsx_pci_write_register(pcr, PM_CTRL3, D3_DELINK_MODE_EN, 0x00);
  33. }