diff options
Diffstat (limited to 'target/linux/ipq806x/patches/0109-libahci-Allow-drivers-to-override-start_engine.patch')
-rw-r--r-- | target/linux/ipq806x/patches/0109-libahci-Allow-drivers-to-override-start_engine.patch | 49 |
1 files changed, 19 insertions, 30 deletions
diff --git a/target/linux/ipq806x/patches/0109-libahci-Allow-drivers-to-override-start_engine.patch b/target/linux/ipq806x/patches/0109-libahci-Allow-drivers-to-override-start_engine.patch index 102fd4f..b727e26 100644 --- a/target/linux/ipq806x/patches/0109-libahci-Allow-drivers-to-override-start_engine.patch +++ b/target/linux/ipq806x/patches/0109-libahci-Allow-drivers-to-override-start_engine.patch @@ -21,11 +21,9 @@ Signed-off-by: Tejun Heo <tj@kernel.org> drivers/ata/sata_highbank.c | 3 ++- 4 files changed, 31 insertions(+), 10 deletions(-) -diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c -index c81d809..8bfc477 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c -@@ -578,6 +578,7 @@ static int ahci_vt8251_hardreset(struct ata_link *link, unsigned int *class, +@@ -583,6 +583,7 @@ static int ahci_vt8251_hardreset(struct unsigned long deadline) { struct ata_port *ap = link->ap; @@ -33,7 +31,7 @@ index c81d809..8bfc477 100644 bool online; int rc; -@@ -588,7 +589,7 @@ static int ahci_vt8251_hardreset(struct ata_link *link, unsigned int *class, +@@ -593,7 +594,7 @@ static int ahci_vt8251_hardreset(struct rc = sata_link_hardreset(link, sata_ehc_deb_timing(&link->eh_context), deadline, &online, NULL); @@ -42,7 +40,7 @@ index c81d809..8bfc477 100644 DPRINTK("EXIT, rc=%d, class=%u\n", rc, *class); -@@ -603,6 +604,7 @@ static int ahci_p5wdh_hardreset(struct ata_link *link, unsigned int *class, +@@ -608,6 +609,7 @@ static int ahci_p5wdh_hardreset(struct a { struct ata_port *ap = link->ap; struct ahci_port_priv *pp = ap->private_data; @@ -50,7 +48,7 @@ index c81d809..8bfc477 100644 u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG; struct ata_taskfile tf; bool online; -@@ -618,7 +620,7 @@ static int ahci_p5wdh_hardreset(struct ata_link *link, unsigned int *class, +@@ -623,7 +625,7 @@ static int ahci_p5wdh_hardreset(struct a rc = sata_link_hardreset(link, sata_ehc_deb_timing(&link->eh_context), deadline, &online, NULL); @@ -59,11 +57,9 @@ index c81d809..8bfc477 100644 /* The pseudo configuration device on SIMG4726 attached to * ASUS P5W-DH Deluxe doesn't send signature FIS after -diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h -index 2289efd..64d1a99 100644 --- a/drivers/ata/ahci.h +++ b/drivers/ata/ahci.h -@@ -323,6 +323,12 @@ struct ahci_host_priv { +@@ -324,6 +324,12 @@ struct ahci_host_priv { u32 em_msg_type; /* EM message type */ struct clk *clk; /* Only for platforms supporting clk */ void *plat_data; /* Other platform data */ @@ -76,11 +72,9 @@ index 2289efd..64d1a99 100644 }; extern int ahci_ignore_sss; -diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c -index 36605ab..f839bb3 100644 --- a/drivers/ata/libahci.c +++ b/drivers/ata/libahci.c -@@ -394,6 +394,9 @@ static ssize_t ahci_show_em_supported(struct device *dev, +@@ -394,6 +394,9 @@ static ssize_t ahci_show_em_supported(st * * If inconsistent, config values are fixed up by this function. * @@ -90,7 +84,7 @@ index 36605ab..f839bb3 100644 * LOCKING: * None. */ -@@ -500,6 +503,9 @@ void ahci_save_initial_config(struct device *dev, +@@ -500,6 +503,9 @@ void ahci_save_initial_config(struct dev hpriv->cap = cap; hpriv->cap2 = cap2; hpriv->port_map = port_map; @@ -100,7 +94,7 @@ index 36605ab..f839bb3 100644 } EXPORT_SYMBOL_GPL(ahci_save_initial_config); -@@ -766,7 +772,7 @@ static void ahci_start_port(struct ata_port *ap) +@@ -766,7 +772,7 @@ static void ahci_start_port(struct ata_p /* enable DMA */ if (!(hpriv->flags & AHCI_HFLAG_DELAY_ENGINE)) @@ -109,7 +103,7 @@ index 36605ab..f839bb3 100644 /* turn on LEDs */ if (ap->flags & ATA_FLAG_EM) { -@@ -1234,7 +1240,7 @@ int ahci_kick_engine(struct ata_port *ap) +@@ -1234,7 +1240,7 @@ int ahci_kick_engine(struct ata_port *ap /* restart engine */ out_restart: @@ -118,7 +112,7 @@ index 36605ab..f839bb3 100644 return rc; } EXPORT_SYMBOL_GPL(ahci_kick_engine); -@@ -1426,6 +1432,7 @@ static int ahci_hardreset(struct ata_link *link, unsigned int *class, +@@ -1426,6 +1432,7 @@ static int ahci_hardreset(struct ata_lin const unsigned long *timing = sata_ehc_deb_timing(&link->eh_context); struct ata_port *ap = link->ap; struct ahci_port_priv *pp = ap->private_data; @@ -126,7 +120,7 @@ index 36605ab..f839bb3 100644 u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG; struct ata_taskfile tf; bool online; -@@ -1443,7 +1450,7 @@ static int ahci_hardreset(struct ata_link *link, unsigned int *class, +@@ -1443,7 +1450,7 @@ static int ahci_hardreset(struct ata_lin rc = sata_link_hardreset(link, timing, deadline, &online, ahci_check_ready); @@ -135,7 +129,7 @@ index 36605ab..f839bb3 100644 if (online) *class = ahci_dev_classify(ap); -@@ -2007,10 +2014,12 @@ static void ahci_thaw(struct ata_port *ap) +@@ -2007,10 +2014,12 @@ static void ahci_thaw(struct ata_port *a void ahci_error_handler(struct ata_port *ap) { @@ -149,7 +143,7 @@ index 36605ab..f839bb3 100644 } sata_pmp_error_handler(ap); -@@ -2031,6 +2040,7 @@ static void ahci_post_internal_cmd(struct ata_queued_cmd *qc) +@@ -2031,6 +2040,7 @@ static void ahci_post_internal_cmd(struc static void ahci_set_aggressive_devslp(struct ata_port *ap, bool sleep) { @@ -157,7 +151,7 @@ index 36605ab..f839bb3 100644 void __iomem *port_mmio = ahci_port_base(ap); struct ata_device *dev = ap->link.device; u32 devslp, dm, dito, mdat, deto; -@@ -2094,7 +2104,7 @@ static void ahci_set_aggressive_devslp(struct ata_port *ap, bool sleep) +@@ -2094,7 +2104,7 @@ static void ahci_set_aggressive_devslp(s PORT_DEVSLP_ADSE); writel(devslp, port_mmio + PORT_DEVSLP); @@ -166,7 +160,7 @@ index 36605ab..f839bb3 100644 /* enable device sleep feature for the drive */ err_mask = ata_dev_set_feature(dev, -@@ -2106,6 +2116,7 @@ static void ahci_set_aggressive_devslp(struct ata_port *ap, bool sleep) +@@ -2106,6 +2116,7 @@ static void ahci_set_aggressive_devslp(s static void ahci_enable_fbs(struct ata_port *ap) { @@ -174,7 +168,7 @@ index 36605ab..f839bb3 100644 struct ahci_port_priv *pp = ap->private_data; void __iomem *port_mmio = ahci_port_base(ap); u32 fbs; -@@ -2134,11 +2145,12 @@ static void ahci_enable_fbs(struct ata_port *ap) +@@ -2134,11 +2145,12 @@ static void ahci_enable_fbs(struct ata_p } else dev_err(ap->host->dev, "Failed to enable FBS\n"); @@ -188,7 +182,7 @@ index 36605ab..f839bb3 100644 struct ahci_port_priv *pp = ap->private_data; void __iomem *port_mmio = ahci_port_base(ap); u32 fbs; -@@ -2166,7 +2178,7 @@ static void ahci_disable_fbs(struct ata_port *ap) +@@ -2166,7 +2178,7 @@ static void ahci_disable_fbs(struct ata_ pp->fbs_enabled = false; } @@ -197,11 +191,9 @@ index 36605ab..f839bb3 100644 } static void ahci_pmp_attach(struct ata_port *ap) -diff --git a/drivers/ata/sata_highbank.c b/drivers/ata/sata_highbank.c -index 870b11e..b3b18d1 100644 --- a/drivers/ata/sata_highbank.c +++ b/drivers/ata/sata_highbank.c -@@ -403,6 +403,7 @@ static int ahci_highbank_hardreset(struct ata_link *link, unsigned int *class, +@@ -403,6 +403,7 @@ static int ahci_highbank_hardreset(struc static const unsigned long timing[] = { 5, 100, 500}; struct ata_port *ap = link->ap; struct ahci_port_priv *pp = ap->private_data; @@ -209,7 +201,7 @@ index 870b11e..b3b18d1 100644 u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG; struct ata_taskfile tf; bool online; -@@ -431,7 +432,7 @@ static int ahci_highbank_hardreset(struct ata_link *link, unsigned int *class, +@@ -431,7 +432,7 @@ static int ahci_highbank_hardreset(struc break; } while (!online && retry--); @@ -218,6 +210,3 @@ index 870b11e..b3b18d1 100644 if (online) *class = ahci_dev_classify(ap); --- -1.7.10.4 - |