- 03 12月, 2012 2 次提交
-
-
由 Brian Norris 提交于
The ahci_platform driver can now use the module_platform_driver() macro. Signed-off-by: NBrian Norris <computersforpeace@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
由 Brian Norris 提交于
platform_driver_probe() should be used for registering this driver only if we want to "...remove its run-once probe() infrastructure from memory after the driver has bound to the device." However, we may want to leave the probe infrastructure in place in order to support binding/unbinding a device dynamically. This is useful, for instance, as a power management mechanism, where a device can be totally powered down when unbound (whereas with runtime power management, powering down the SATA core would incur unacceptable loss of functionality). Thus, convert this driver to use platform_driver_register(). Signed-off-by: NBrian Norris <computersforpeace@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 16 11月, 2012 1 次提交
-
-
由 Yuanhan Liu 提交于
This will fix warnings like following when CONFIG_PM_SLEEP is not set: warning: 'xxx_suspend' defined but not used [-Wunused-function] warning: 'xxx_resume' defined but not used [-Wunused-function] Because SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) Only references the callbacks on CONFIG_PM_SLEEP (instead of CONFIG_PM). Cc: Viresh Kumar <viresh.linux@gmail.com> Cc: linux-ide@vger.kernel.org Signed-off-by: NYuanhan Liu <yuanhan.liu@linux.intel.com> Signed-off-by: NFengguang Wu <fengguang.wu@intel.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 13 9月, 2012 2 次提交
-
-
由 Viresh Kumar 提交于
On many architectures, drivers are supposed to prepare/unprepare & enable/disable functional clock of device. This patch adds clock support for ahci_platform. Signed-off-by: NViresh Kumar <viresh.kumar@linaro.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
由 Mark Langsdorf 提交于
Calxeda highbank SATA phy has intermittent problems bringing up a link with Gen3 drives. Retrying the phy hard reset can work-around this issue, but each reset also disables spread spectrum support. The reset function also needs to reprogram the phy to enable spread spectrum support. Create a new driver based on ahci_platform to support the Calxeda Highbank SATA controller. Signed-off-by: NMark Langsdorf <mark.langsdorf@calxeda.com> Signed-off-by: NRob Herring <rob.herring@calxeda.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 26 7月, 2012 1 次提交
-
-
由 Shiraz Hashim 提交于
Use existing suspend, resume implementation for hibernation callbacks. Signed-off-by: NShiraz Hashim <shiraz.hashim@st.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 04 5月, 2012 1 次提交
-
-
由 Viresh Kumar 提交于
SPEAr13xx series of SoCs contain Synopsys AHCI SATA Controller which shares ahci_platform driver with other controller versions. This patch updates DT compatible list for ahci_platform. It also updates and renames binding documentation to more generic name. Signed-off-by: NViresh Kumar <viresh.kumar@st.com> Cc: Rob Herring <rob.herring@calxeda.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 14 3月, 2012 1 次提交
-
-
由 Brian Norris 提交于
Some platforms need to make use of the AHCI_HFLAG_DELAY_ENGINE flag. Signed-off-by: NBrian Norris <computersforpeace@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com> Cc: stable@kernel.org
-
- 09 1月, 2012 1 次提交
-
-
由 Brian Norris 提交于
Add platform hooks for custom suspend() and resume() functions. The generic suspend/resume code in drivers/ata/ahci_platform.c is adapted from the PCI version in drivers/ata/ahci.c. Signed-off-by: NBrian Norris <computersforpeace@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 17 11月, 2011 1 次提交
-
-
由 Rob Herring 提交于
The change in commit 904c04fe "ahci_platform: Add the board_ids..." doesn't work for the DT probing case as platform_get_device_id returns NULL. Pick the default ahci_port_info in this case. Signed-off-by: NRob Herring <rob.herring@calxeda.com> Acked-by: NAnton Vorontsov <cbouatmailru@gmail.com> Cc: Richard Zhu <richard.zhu@linaro.org> Cc: linux-ide@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 09 11月, 2011 1 次提交
-
-
由 JiSheng Zhang 提交于
Use dev_get_platdata() to retrieve the struct ahci_platform_data data from the platform. Signed-off-by: NJiSheng Zhang <jszhang3@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 04 11月, 2011 1 次提交
-
-
由 Rob Herring 提交于
Add devicetree match table to ahci platform driver for Calxeda Highbank AHCI controller. Signed-off-by: NRob Herring <rob.herring@calxeda.com> Acked-by: NGrant Likely <grant.likely@secretlab.ca> Cc: Jeff Garzik <jgarzik@pobox.com> Cc: linux-ide@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: devicetree-discuss@lists.ozlabs.org
-
- 08 10月, 2011 1 次提交
-
-
由 Richard Zhu 提交于
On imx53 AHCI, soft reset fails with IPMS set when PMP is enabled but SATA HDD/ODD is connected to SATA port, do soft reset again to port 0. So the 'ahci_pmp_retry_srst_ops' is required when imx53 ahci is present. Signed-off-by: NRichard Zhu <richard.zhu@linaro.org> Acked-by: NEric Miao <eric.miao@linaro.org> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 22 10月, 2010 2 次提交
-
-
由 Tejun Heo 提交于
The current LPM implementation has the following issues. * Operation order isn't well thought-out. e.g. HIPM should be configured after IPM in SControl is properly configured. Not the other way around. * Suspend/resume paths call ata_lpm_enable/disable() which must only be called from EH context directly. Also, ata_lpm_enable/disable() were called whether LPM was in use or not. * Implementation is per-port when it should be per-link. As a result, it can't be used for controllers with slave links or PMP. * LPM state isn't managed consistently. After a link reset for whatever reason including suspend/resume the actual LPM state would be reset leaving ap->lpm_policy inconsistent. * Generic/driver-specific logic boundary isn't clear. Currently, libahci has to mangle stuff which libata EH proper should be handling. This makes the implementation unnecessarily complex and fragile. * Tied to ALPM. Doesn't consider DIPM only cases and doesn't check whether the device allows HIPM. * Error handling isn't implemented. Given the extent of mismatch with the rest of libata, I don't think trying to fix it piecewise makes much sense. This patch reimplements LPM support. * The new implementation is per-link. The target policy is still port-wide (ap->target_lpm_policy) but all the mechanisms and states are per-link and integrate well with the rest of link abstraction and can work with slave and PMP links. * Core EH has proper control of LPM state. LPM state is reconfigured when and only when reconfiguration is necessary. It makes sure that LPM state is reset when probing for new device on the link. Controller agnostic logic is now implemented in libata EH proper and driver implementation only has to deal with controller specifics. * Proper error handling. LPM config failure is attributed to the device on the link and LPM is disabled for the link if it fails repeatedly. * ops->enable/disable_pm() are replaced with single ops->set_lpm() which takes @policy and @hints. This simplifies driver specific implementation. Signed-off-by: NTejun Heo <tj@kernel.org> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
由 Tejun Heo 提交于
Link power management related symbols are in confusing state w/ mixed usages of lpm, ipm and pm. This patch cleans up lpm related symbols and sysfs show/store functions as follows. * lpm states - NOT_AVAILABLE, MIN_POWER, MAX_PERFORMANCE and MEDIUM_POWER are renamed to ATA_LPM_UNKNOWN and ATA_LPM_{MIN|MAX|MED}_POWER. * Pre/postfixes are unified to lpm. * sysfs show/store functions for link_power_management_policy were curiously named get/put and unnecessarily complex. Renamed to show/store and simplified. Signed-off-by: NTejun Heo <tj@kernel.org> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 29 9月, 2010 1 次提交
-
-
由 Tejun Heo 提交于
libata depends on scsi_host_template for module reference counting and sht's should be owned by each low level driver. During libahci split, the sht was left with libahci.ko leaving the actual low level drivers not reference counted. This made ahci and ahci_platform always unloadable even while they're being actively used. Fix it by defining AHCI_SHT() macro in ahci.h and defining a sht for each low level ahci driver. stable: only applicable to 2.6.35. Signed-off-by: NTejun Heo <tj@kernel.org> Reported-by: NPedro Francisco <pedrogfrancisco@gmail.com> Tested-by: NMichael Tokarev <mjt@tls.msk.ru> Cc: stable@kernel.org Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 02 8月, 2010 2 次提交
-
-
由 Anton Vorontsov 提交于
The driver is using platform_driver_probe() during initialization, so ahci_driver.probe hook is never used. But it causes the following (harmless, luckily) section mismatch: WARNING: vmlinux.o(.data+0x2fb20): Section mismatch in reference from the variable ahci_driver to the function .init.text:ahci_probe() This patch removes the ahci_driver.probe assignment, thus fixes the warning. p.s. Note that there's another patch[1] from Rene Bolldorf that tried to solve the same issue by __refdata annotation. __refdata says that this reference is actually OK, but in fact it is not OK, because dereferencing .probe() will cause problems. So the proper fix is to remove the assignment. [1] http://kerneltrap.org/mailarchive/linux-kernel/2010/3/18/4549547Signed-off-by: NAnton Vorontsov <avorontsov@mvista.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
由 Jassi Brar 提交于
Some AHCI implementations may use Vendor Specific HBA[A0h, FFh] and/or Port[70h, 7Fh] registers to 'prepare' for initialization. For that, the platform needs memory mapped address of AHCI registers. This patch adds the 'mmio' argument and reorders the call to platform init function. Signed-off-by: NJassi Brar <jassi.brar@samsung.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 15 5月, 2010 3 次提交
-
-
由 Jeff Garzik 提交于
Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
由 Tejun Heo 提交于
Implicit slab.h inclusion via percpu.h is about to go away. Make sure gfp.h or slab.h is included as necessary. Signed-off-by: NTejun Heo <tj@kernel.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
由 Anton Vorontsov 提交于
This can be used for AHCI-compatible interfaces implemented inside System-On-Chip solutions, or AHCI devices connected via localbus. Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-