19 May, 2015
1 commit
-
Smatch complains about this potential NULL dereference of "acpi_id".
Fixes: c9802a4be661 ('ata: ahci_xgene: Add AHCI Support for 2nd HW version of APM X-Gene SoC AHCI SATA Host controller.')
Signed-off-by: Dan Carpenter
Signed-off-by: Tejun Heo
11 May, 2015
1 commit
-
This patch enables full AHCI feature support for APM X-Gene SoC SATA
host controller. The following errata's are removed:1. 2a0bdff6b95 ("ahci-xgene: fix the dma state machine lockup for the
IDENTIFY DEVICE PIO mode command")
2. 09c32aaa368 ("ahci_xgene: Fix the dma state machine lockup for the
ATA_CMD_SMART PIO mode command")
3. 1540035da71 ("ahci_xgene: Implement the xgene_ahci_poll_reg_val to
support PMP")
4. a3a84bc7c88 ("ahci_xgene: Implement the workaround to support PMP
enumeration and discovery")
5. 1102407bb71 ("ahci_xgene: Fix the DMA state machine lockup for the
ATA_CMD_PACKET PIO mode command")
6. 72f79f9e35b ("ahci_xgene: Removing NCQ support from the APM X-Gene
SoC AHCI SATA Host Controller driver")In addition, enable PMP support for APM X-Gene SoC and enable FBS
support for second generation APM X-Gene SoC.Signed-off-by: Suman Tripathi
Signed-off-by: Tejun Heo
20 Mar, 2015
1 commit
-
This adds ACPI support for the APM X-Gene SATA ports. When the system
boots using ACPI table, the SATA ports are able to configure using the
values supplied by the ACPI table rather than the DTS.Signed-off-by: Feng Kan
Reviewed-by: Hanjun Guo
Reviewed-by: Mika Westerberg
Acked-by: Rafael J. Wysocki
Signed-off-by: Tejun Heo
09 Feb, 2015
1 commit
-
…j/libata into for-3.20
09c32aaa3683 ("ahci_xgene: Fix the dma state machine lockup for the
ATA_CMD_SMART PIO mode command.") missed 3.19 release. Fold it into
for-3.20.Signed-off-by: Tejun Heo <tj@kernel.org>
04 Feb, 2015
1 commit
-
This patch addresses the issue with ATA_CMD_SMART pio mode command for
enumeration and device detection with ATA devices. The X-Gene AHCI
controller has an errata in which it cannot clear the BSY bit after
the PIO setup FIS. The dma state machine enters CMFatalErrorUpdate
state and locks up. It is the same issue as in the commit 2a0bdff6b958
("ahci-xgene: fix the dma state machine lockup for the IDENTIFY DEVICE
PIO mode command").For example : without this patch it results in READ DMA command failure
as shown below :[ 126.700072] ata2.00: exception Emask 0x0 SAct 0x0
SErr 0x0 action 0x6 frozen
[ 126.707089] ata2.00: failed command: READ DMA
[ 126.711426] ata2.00: cmd c8/00:08:00:55:57/00:00:00:00:00/e1 tag 1
dma 4096 in
[ 126.711426] res 40/00:ff:00:00:00/00:00:00:00:00/40 Emask
0x4 (timeout)
[ 126.725956] ata2.00: status: { DRDY }Signed-off-by: Suman Tripathi
Reported-by: Mark Langsdorf
Signed-off-by: Tejun Heo
29 Jan, 2015
1 commit
-
The owner module reference of the ahci platform's scsi_host is
initialized to libahci_platform's one, because these drivers use a
scsi_host_template defined in libahci_platform. So these drivers can
be unloaded even if the scsi device is being accessed.This fixes it by pushing the scsi_host_template from libahci_platform
to all leaf drivers. The scsi_host_template is passed through a new
argument of ahci_platform_init_host().Signed-off-by: Akinobu Mita
Signed-off-by: Tejun Heo
Cc: Hans de Goede
Cc: Christoph Hellwig
Cc: "James E.J. Bottomley"
Cc: linux-ide@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
06 Jan, 2015
2 commits
-
Due to H/W errata, the controller is unable to save the PMP
field fetched from command header before sending the H2D FIS.
When the device returns the PMP port field in the D2H FIS, there is
a mismatch and results in command completion failure. The workaround
is to write the pmp value to PxFBS.DEV field before issuing any command
to PMP.Signed-off-by: Suman Tripathi
Signed-off-by: Tejun Heo -
This patch implements the function xgene_ahci_poll_reg_val
to poll PxCI for multiple IDENTIFY DEVICE commands to finish before
restarting the DMA engine.Signed-off-by: Suman Tripathi
Signed-off-by: Tejun Heo
05 Jan, 2015
2 commits
-
This patch addresses the issue with ATA_CMD_PACKET pio mode
command for enumeration and device detection with ATAPI devices.
The X-Gene AHCI controller has an errata in which it cannot clear
the BSY bit after the PIO setup FIS. The dma state machine enters
CMFatalErrorUpdate state and locks up.Signed-off-by: Suman Tripathi
Signed-off-by: Tejun Heo -
This patch fixes the big endian mode issue with function
xgene_ahci_read_id.Signed-off-by: Suman Tripathi
Signed-off-by: Tejun Heo
20 Oct, 2014
1 commit
-
A platform_driver does not need to set an owner, it will be populated by the
driver core.Signed-off-by: Wolfram Sang
10 Oct, 2014
1 commit
-
Pull libata update from Tejun Heo:
"AHCI is getting per-port irq handling and locks for better
scalability. The gain is not huge but measureable with multiple high
iops devices connected to the same host; however, the value of
threaded IRQ handling seems negligible for AHCI and it likely will
revert to non-threaded handling soon.Another noteworthy change is George Spelvin's "libata: Un-break ATA
blacklist". During 3.17 devel cycle, the libata blacklist glob
matching got generalized and rewritten; unfortunately, the patch
forgot to swap arguments to match the new match function and ended up
breaking blacklist matching completely. It got noticed only a couple
days ago so it couldn't make for-3.17-fixes either. :(Other than the above two, nothing too interesting - the usual cleanup
churns and device-specific changes"* 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (22 commits)
pata_serverworks: disable 64-KB DMA transfers on Broadcom OSB4 IDE Controller
libata: Un-break ATA blacklist
AHCI: Do not acquire ata_host::lock from single IRQ handler
AHCI: Optimize single IRQ interrupt processing
AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode
AHCI: Make few function names more descriptive
AHCI: Move host activation code into ahci_host_activate()
AHCI: Move ahci_host_activate() function to libahci.c
AHCI: Pass SCSI host template as arg to ahci_host_activate()
ata: pata_imx: Use the SIMPLE_DEV_PM_OPS() macro
AHCI: Cleanup checking of multiple MSIs/SLM modes
libata-sff: Fix controllers with no ctl port
ahci_xgene: Fix the error print invalid resource for APM X-Gene SoC AHCI SATA Host Controller driver.
libata: change ata__printk routines to return void
ata: qcom: Add device tree bindings information
ahci-platform: Bump max number of clocks to 5
ahci: ahci_p5wdh_workaround - constify DMI table
libahci_platform: Staticize ahci_platform_able_phys()
pata_platform: Remove useless irq_flags field
pata_of_platform: Remove "electra-ide" quirk
...
23 Sep, 2014
1 commit
-
…st Controller driver.
This patch fixes the error print invalid resource for the APM X-Gene
SoC AHCI SATA Host Controller driver. This print was due to the fact
that the controller 3 don't have a mux resource. This didn't result
in any errors but the print seems like meaningless.Signed-off-by: Loc Ho <lho@apm.com>
Signed-off-by: Suman Tripathi <stripathi@apm.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
06 Sep, 2014
2 commits
-
…host controller driver.
Due to HW errata the APM X-Gene AHCI SATA host controller reports link
down even if the device presence is detected. This issue is due to speed
negotiation failure. This patch implements the algorithm to retry the
COMRESET if PxSTAT register reports device presence detected but
PHY communication not established. The maximum retry attempts are 3.This patch also fixes the code to match the algorithm for the printing
a warning message if the disparity error still exists after link up.Signed-off-by: Loc Ho <lho@apm.com>
Signed-off-by: Suman Tripathi <stripathi@apm.com>
Signed-off-by: Tejun Heo <tj@kernel.org> -
This patch implements the feature to skip the PHY and clock
initialization if it is already configured by the firmware.Signed-off-by: Loc Ho
Signed-off-by: Suman Tripathi
Signed-off-by: Tejun Heo
17 Aug, 2014
1 commit
-
This patch removes the NCQ support from the APM X-Gene SoC AHCI
Host Controller driver as it doesn't support it.Signed-off-by: Loc Ho
Signed-off-by: Suman Tripathi
Signed-off-by: Tejun Heo
Cc: stable@vger.kernel.org
31 Jul, 2014
2 commits
-
This patch moves force_port_map and mask_port_map into the
ahci_host_priv structure. This allows to modify them into the AHCI
framework. This is needed by the new dt bindings representing ports as
the port_map mask is computed automatically.Parameters modifying force_port_map, mask_port_map and flags have been
removed from the ahci_platform_init_host() function, and inputs in the
ahci_host_priv structure are now directly filed.Signed-off-by: Antoine Ténart
Signed-off-by: Tejun Heo -
…j/libata into for-3.17
The scheduled ahci platform patches depend on change in
for-3.16-fixes. Pull it into for-3.17.Signed-off-by: Tejun Heo <tj@kernel.org>
29 Jul, 2014
2 commits
-
APM X-Gene SoC AHCI SATA Host controller driver requires
some correction of Phy Control OOB timing for the
COMINIT/COMWAKE parameters to correctly interoperate with
different kinds of disks.Signed-off-by: Loc Ho
Signed-off-by: Suman Tripathi
Signed-off-by: Tejun Heo -
As per SATA IO specification, when Host sends HOLD, the device takes
about 20DW latency to reply to HOLDA. In some case, device doesn't
response to HOLDA over 20DW and causes FIFO goes into over flow
condition. Due to this condition, device enumerations fails with
those devices. This patch adjust the watermark FIFO by increasing
the FIFO depth from 0x16(default) to 0x30 to address this issue.Signed-off-by: Loc Ho
Signed-off-by: Suman Tripathi
Signed-off-by: Tejun Heo
08 Jul, 2014
1 commit
-
This patch fixes the dma state machine lockup due to the processing
of IDENTIFY DEVICE PIO mode command. The X-Gene AHCI controller
has an errata in which it cannot clear the BSY bit after the PIO setup
FIS. The dma state machine enters CMFatalErrorUpdate state and locks
up. This patch also removes the dma restart workaround from the read_id
function as the read_id function is only called by libata layer for
ATA_INTERNAL commands. But for some cases eg: PORT MULTIPLIER
and udev, the framework will enumerate using SCSI commands and it will
not call read_id function.Signed-off-by: Loc Ho
Signed-off-by: Suman Tripathi
Signed-off-by: Tejun Heo
18 Jun, 2014
1 commit
-
Instead of doing the check here, this should be handled
in the common AHCI platform code.Signed-off-by: Suravee Suthikulpanit
Suggested-by: Bartlomiej Zolnierkiewicz
Cc: Loc Ho
Cc: Tuan Phan
Cc: Suman Triphati
Signed-off-by: Tejun Heo
15 May, 2014
1 commit
-
Add a dynamic host_flags argument to make ahci_platform_init_host more flexible,
then remove the AHCI_HFLAGS(...) argument from some driver's ata_port_info,
and pass that in as the new argument.Cc: Hans de Geode
Reviewed-by: Hans de Goede
Signed-off-by: Kefeng Wang
Signed-off-by: Tejun Heo
19 Mar, 2014
1 commit
-
This patch fixes an compiler warning with APM X-Gene host controller
driver when compiled with DEBUG enabled.Signed-off-by: Loc Ho
Signed-off-by: Tejun Heo
18 Mar, 2014
1 commit
-
This patch adds support for the APM X-Gene SoC AHCI SATA host controller
driver. It requires the corresponding APM X-Gene SoC PHY driver. This
initial version only supports Gen3 speed.Signed-off-by: Loc Ho
Signed-off-by: Tuan Phan
Signed-off-by: Suman Tripathi
Reviewed-by: Bartlomiej Zolnierkiewicz
Signed-off-by: Tejun Heo