aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-07-26 17:39:40 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-07-26 17:39:40 -0400
commit75a442efb1ca613f8d1cc71a32c2c9b0aefae4a5 (patch)
tree6161c21803db3f03bcbd26715761e2d310246bb8
parentb55b048718c8c833186c87ceeea86b78346cda2e (diff)
parent737bee9308c457090711684b976e0fe02785a094 (diff)
Merge branch 'for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
Pull libata updates from Tejun Heo: "libata saw quite a bit of activities in this cycle: - SMR drive support still being worked on - bug fixes and improvements to misc SCSI command emulation - some low level driver updates" * 'for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (39 commits) libata-scsi: better style in ata_msense_*() AHCI: Clear GHC.IS to prevent unexpectly asserting INTx ata: sata_dwc_460ex: remove redundant dev_err call ata: define ATA_PROT_* in terms of ATA_PROT_FLAG_* libata: remove ATA_PROT_FLAG_DATA libata: remove ata_is_nodata ata: make lba_{28,48}_ok() use ATA_MAX_SECTORS{,_LBA48} libata-scsi: minor cleanup for ata_scsi_zbc_out_xlat libata-scsi: Fix ZBC management out command translation libata-scsi: Fix translation of REPORT ZONES command ata: Handle ATA NCQ NO-DATA commands correctly libata-eh: decode all taskfile protocols ata: fixup ATA_PROT_NODATA libsas: use ata_is_ncq() and ata_has_dma() accessors libata: use ata_is_ncq() accessors libata: return boolean values from ata_is_* libata-scsi: avoid repeated calculation of number of TRIM ranges libata-scsi: reject WRITE SAME (16) with n_block that exceeds limit libata-scsi: rename ata_msense_ctl_mode() to ata_msense_control() libata-scsi: fix D_SENSE bit relection in control mode page ...
-rw-r--r--Documentation/devicetree/bindings/ata/brcm,sata-brcm.txt (renamed from Documentation/devicetree/bindings/ata/brcm,sata-brcmstb.txt)9
-rw-r--r--Documentation/devicetree/bindings/phy/brcm-sata-phy.txt4
-rw-r--r--MAINTAINERS1
-rw-r--r--arch/arm/boot/dts/bcm-nsp.dtsi42
-rw-r--r--arch/arm/boot/dts/bcm958625k.dts12
-rw-r--r--drivers/ata/Kconfig8
-rw-r--r--drivers/ata/Makefile2
-rw-r--r--drivers/ata/ahci.c2
-rw-r--r--drivers/ata/ahci_brcm.c (renamed from drivers/ata/ahci_brcmstb.c)46
-rw-r--r--drivers/ata/libahci.c10
-rw-r--r--drivers/ata/libata-core.c14
-rw-r--r--drivers/ata/libata-eh.c8
-rw-r--r--drivers/ata/libata-scsi.c82
-rw-r--r--drivers/ata/libata-transport.c9
-rw-r--r--drivers/ata/pata_arasan_cf.c2
-rw-r--r--drivers/ata/pata_atiixp.c4
-rw-r--r--drivers/ata/pata_hpt366.c2
-rw-r--r--drivers/ata/pata_marvell.c2
-rw-r--r--drivers/ata/sata_dwc_460ex.c14
-rw-r--r--drivers/phy/phy-brcm-sata.c81
-rw-r--r--drivers/scsi/libsas/sas_ata.c11
-rw-r--r--include/linux/ata.h41
-rw-r--r--include/linux/libata.h60
-rw-r--r--include/trace/events/libata.h1
24 files changed, 314 insertions, 153 deletions
diff --git a/Documentation/devicetree/bindings/ata/brcm,sata-brcmstb.txt b/Documentation/devicetree/bindings/ata/brcm,sata-brcm.txt
index 60872838f1ad..0a5b3b47f217 100644
--- a/Documentation/devicetree/bindings/ata/brcm,sata-brcmstb.txt
+++ b/Documentation/devicetree/bindings/ata/brcm,sata-brcm.txt
@@ -1,13 +1,14 @@
1* Broadcom SATA3 AHCI Controller for STB 1* Broadcom SATA3 AHCI Controller
2 2
3SATA nodes are defined to describe on-chip Serial ATA controllers. 3SATA nodes are defined to describe on-chip Serial ATA controllers.
4Each SATA controller should have its own node. 4Each SATA controller should have its own node.
5 5
6Required properties: 6Required properties:
7- compatible : should be one or more of 7- compatible : should be one or more of
8 "brcm,bcm7425-ahci" 8 "brcm,bcm7425-ahci"
9 "brcm,bcm7445-ahci" 9 "brcm,bcm7445-ahci"
10 "brcm,sata3-ahci" 10 "brcm,bcm-nsp-ahci"
11 "brcm,sata3-ahci"
11- reg : register mappings for AHCI and SATA_TOP_CTRL 12- reg : register mappings for AHCI and SATA_TOP_CTRL
12- reg-names : "ahci" and "top-ctrl" 13- reg-names : "ahci" and "top-ctrl"
13- interrupts : interrupt mapping for SATA IRQ 14- interrupts : interrupt mapping for SATA IRQ
diff --git a/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt b/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
index d0231209d846..6ccce09d8bbf 100644
--- a/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
+++ b/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
@@ -5,6 +5,7 @@ Required properties:
5 "brcm,bcm7425-sata-phy" 5 "brcm,bcm7425-sata-phy"
6 "brcm,bcm7445-sata-phy" 6 "brcm,bcm7445-sata-phy"
7 "brcm,iproc-ns2-sata-phy" 7 "brcm,iproc-ns2-sata-phy"
8 "brcm,iproc-nsp-sata-phy"
8 "brcm,phy-sata3" 9 "brcm,phy-sata3"
9- address-cells: should be 1 10- address-cells: should be 1
10- size-cells: should be 0 11- size-cells: should be 0
@@ -22,7 +23,8 @@ Sub-nodes required properties:
22 23
23Sub-nodes optional properties: 24Sub-nodes optional properties:
24- brcm,enable-ssc: use spread spectrum clocking (SSC) on this port 25- brcm,enable-ssc: use spread spectrum clocking (SSC) on this port
25 This property is not applicable for "brcm,iproc-ns2-sata-phy". 26 This property is not applicable for "brcm,iproc-ns2-sata-phy" and
27 "brcm,iproc-nsp-sata-phy".
26 28
27Example: 29Example:
28 sata-phy@f0458100 { 30 sata-phy@f0458100 {
diff --git a/MAINTAINERS b/MAINTAINERS
index 531c600b8b93..9987f8491c55 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6768,6 +6768,7 @@ S: Maintained
6768F: drivers/ata/ 6768F: drivers/ata/
6769F: include/linux/ata.h 6769F: include/linux/ata.h
6770F: include/linux/libata.h 6770F: include/linux/libata.h
6771F: Documentation/devicetree/bindings/ata/
6771 6772
6772LIBATA PATA ARASAN COMPACT FLASH CONTROLLER 6773LIBATA PATA ARASAN COMPACT FLASH CONTROLLER
6773M: Viresh Kumar <vireshk@kernel.org> 6774M: Viresh Kumar <vireshk@kernel.org>
diff --git a/arch/arm/boot/dts/bcm-nsp.dtsi b/arch/arm/boot/dts/bcm-nsp.dtsi
index 1ed829e699d4..6a40ed7d0502 100644
--- a/arch/arm/boot/dts/bcm-nsp.dtsi
+++ b/arch/arm/boot/dts/bcm-nsp.dtsi
@@ -271,6 +271,48 @@
271 <0x30028 0x04>, 271 <0x30028 0x04>,
272 <0x3f408 0x04>; 272 <0x3f408 0x04>;
273 }; 273 };
274
275 sata_phy: sata_phy@40100 {
276 compatible = "brcm,iproc-nsp-sata-phy";
277 reg = <0x40100 0x340>;
278 reg-names = "phy";
279 #address-cells = <1>;
280 #size-cells = <0>;
281
282 sata_phy0: sata-phy@0 {
283 reg = <0>;
284 #phy-cells = <0>;
285 status = "disabled";
286 };
287
288 sata_phy1: sata-phy@1 {
289 reg = <1>;
290 #phy-cells = <0>;
291 status = "disabled";
292 };
293 };
294
295 sata: ahci@41000 {
296 compatible = "brcm,bcm-nsp-ahci";
297 reg-names = "ahci", "top-ctrl";
298 reg = <0x41000 0x1000>, <0x40020 0x1c>;
299 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
300 #address-cells = <1>;
301 #size-cells = <0>;
302 status = "disabled";
303
304 sata0: sata-port@0 {
305 reg = <0>;
306 phys = <&sata_phy0>;
307 phy-names = "sata-phy";
308 };
309
310 sata1: sata-port@1 {
311 reg = <1>;
312 phys = <&sata_phy1>;
313 phy-names = "sata-phy";
314 };
315 };
274 }; 316 };
275 317
276 pcie0: pcie@18012000 { 318 pcie0: pcie@18012000 {
diff --git a/arch/arm/boot/dts/bcm958625k.dts b/arch/arm/boot/dts/bcm958625k.dts
index e298450b49b2..2d8422632b2b 100644
--- a/arch/arm/boot/dts/bcm958625k.dts
+++ b/arch/arm/boot/dts/bcm958625k.dts
@@ -68,6 +68,18 @@
68 status = "okay"; 68 status = "okay";
69}; 69};
70 70
71&sata_phy0 {
72 status = "okay";
73};
74
75&sata_phy1 {
76 status = "okay";
77};
78
79&sata {
80 status = "okay";
81};
82
71&nand { 83&nand {
72 nandcs@0 { 84 nandcs@0 {
73 compatible = "brcm,nandcs"; 85 compatible = "brcm,nandcs";
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index e2dc4c045146..2c8be74f401d 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -98,12 +98,12 @@ config SATA_AHCI_PLATFORM
98 98
99 If unsure, say N. 99 If unsure, say N.
100 100
101config AHCI_BRCMSTB 101config AHCI_BRCM
102 tristate "Broadcom STB AHCI SATA support" 102 tristate "Broadcom AHCI SATA support"
103 depends on ARCH_BRCMSTB || BMIPS_GENERIC 103 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP
104 help 104 help
105 This option enables support for the AHCI SATA3 controller found on 105 This option enables support for the AHCI SATA3 controller found on
106 STB SoC's. 106 Broadcom SoC's.
107 107
108 If unsure, say N. 108 If unsure, say N.
109 109
diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile
index 0b2afb7e5f35..a46e6b784bda 100644
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
@@ -11,7 +11,7 @@ obj-$(CONFIG_SATA_INIC162X) += sata_inic162x.o
11obj-$(CONFIG_SATA_SIL24) += sata_sil24.o 11obj-$(CONFIG_SATA_SIL24) += sata_sil24.o
12obj-$(CONFIG_SATA_DWC) += sata_dwc_460ex.o