* [PATCH 0/2] Series short description
@ 2009-05-13 14:01 Alan Cox
2009-05-13 14:02 ` [PATCH 1/2] libata: Use IGN_SIMPLEX for ALi Alan Cox
2009-05-13 14:02 ` [PATCH 2/2] ata_piix: Enable parallel scan Alan Cox
0 siblings, 2 replies; 7+ messages in thread
From: Alan Cox @ 2009-05-13 14:01 UTC (permalink / raw)
To: jeff, linux-ide
Couple more little ATA patches. The ALi one would be good to get upstream
ASAP, the other is a performance item.
---
Alan Cox (1):
libata: Use IGN_SIMPLEX for ALi
Arjan van de Ven (1):
ata_piix: Enable parallel scan
drivers/ata/ata_piix.c | 29 ++++++++++++++++++++---------
drivers/ata/pata_ali.c | 17 +++++++++++------
2 files changed, 31 insertions(+), 15 deletions(-)
--
"And the nice thing is you don't need to be able to type, because every
possible keystroke does {something} for/to you. Anything from point out
off-by-one errors to perform a sex change on your gerbil."
-- Bill Davidsen describing emacs
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 1/2] libata: Use IGN_SIMPLEX for ALi 2009-05-13 14:01 [PATCH 0/2] Series short description Alan Cox @ 2009-05-13 14:02 ` Alan Cox 2009-05-13 15:56 ` Sergei Shtylyov 2009-05-20 20:11 ` Jeff Garzik 2009-05-13 14:02 ` [PATCH 2/2] ata_piix: Enable parallel scan Alan Cox 1 sibling, 2 replies; 7+ messages in thread From: Alan Cox @ 2009-05-13 14:02 UTC (permalink / raw) To: jeff, linux-ide From: Alan Cox <alan@linux.intel.com> Some ALi devices report simplex if they have been disabled and re-enabled, and restoring the byte does not work. Ignore it - the needed supporting logic is already present for the SATA ULi ports. Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/ata/pata_ali.c | 17 +++++++++++------ 1 files changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c index 751b7ea..fc9c5d6 100644 --- a/drivers/ata/pata_ali.c +++ b/drivers/ata/pata_ali.c @@ -497,14 +497,16 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) }; /* Revision 0x20 added DMA */ static const struct ata_port_info info_20 = { - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | + ATA_FLAG_IGN_SIMPLEX, .pio_mask = ATA_PIO4, .mwdma_mask = ATA_MWDMA2, .port_ops = &ali_20_port_ops }; /* Revision 0x20 with support logic added UDMA */ static const struct ata_port_info info_20_udma = { - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | + ATA_FLAG_IGN_SIMPLEX, .pio_mask = ATA_PIO4, .mwdma_mask = ATA_MWDMA2, .udma_mask = ATA_UDMA2, @@ -512,7 +514,8 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) }; /* Revision 0xC2 adds UDMA66 */ static const struct ata_port_info info_c2 = { - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | + ATA_FLAG_IGN_SIMPLEX, .pio_mask = ATA_PIO4, .mwdma_mask = ATA_MWDMA2, .udma_mask = ATA_UDMA4, @@ -520,7 +523,8 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) }; /* Revision 0xC3 is UDMA66 for now */ static const struct ata_port_info info_c3 = { - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | + ATA_FLAG_IGN_SIMPLEX, .pio_mask = ATA_PIO4, .mwdma_mask = ATA_MWDMA2, .udma_mask = ATA_UDMA4, @@ -528,7 +532,8 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) }; /* Revision 0xC4 is UDMA100 */ static const struct ata_port_info info_c4 = { - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | + ATA_FLAG_IGN_SIMPLEX, .pio_mask = ATA_PIO4, .mwdma_mask = ATA_MWDMA2, .udma_mask = ATA_UDMA5, @@ -536,7 +541,7 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) }; /* Revision 0xC5 is UDMA133 with LBA48 DMA */ static const struct ata_port_info info_c5 = { - .flags = ATA_FLAG_SLAVE_POSS, + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_IGN_SIMPLEX, .pio_mask = ATA_PIO4, .mwdma_mask = ATA_MWDMA2, .udma_mask = ATA_UDMA6, ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] libata: Use IGN_SIMPLEX for ALi 2009-05-13 14:02 ` [PATCH 1/2] libata: Use IGN_SIMPLEX for ALi Alan Cox @ 2009-05-13 15:56 ` Sergei Shtylyov 2009-05-13 16:11 ` Alan Cox 2009-05-20 20:11 ` Jeff Garzik 1 sibling, 1 reply; 7+ messages in thread From: Sergei Shtylyov @ 2009-05-13 15:56 UTC (permalink / raw) To: Alan Cox; +Cc: jeff, linux-ide Hello. Alan Cox wrote: > Some ALi devices report simplex if they have been disabled and re-enabled, and > restoring the byte does not work. Ignore it - the needed supporting logic is > already present for the SATA ULi ports. > Signed-off-by: Alan Cox <alan@linux.intel.com> Whitespace police on guard. :-) > diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c > index 751b7ea..fc9c5d6 100644 > --- a/drivers/ata/pata_ali.c > +++ b/drivers/ata/pata_ali.c > @@ -497,14 +497,16 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) > }; > /* Revision 0x20 added DMA */ > static const struct ata_port_info info_20 = { > - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | > + ATA_FLAG_IGN_SIMPLEX, > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .port_ops = &ali_20_port_ops > }; > /* Revision 0x20 with support logic added UDMA */ > static const struct ata_port_info info_20_udma = { > - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | > + ATA_FLAG_IGN_SIMPLEX, > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .udma_mask = ATA_UDMA2, > @@ -512,7 +514,8 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) > }; > /* Revision 0xC2 adds UDMA66 */ > static const struct ata_port_info info_c2 = { > - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | > + ATA_FLAG_IGN_SIMPLEX, > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .udma_mask = ATA_UDMA4, > @@ -520,7 +523,8 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) > }; > /* Revision 0xC3 is UDMA66 for now */ > static const struct ata_port_info info_c3 = { > - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | > + ATA_FLAG_IGN_SIMPLEX, > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .udma_mask = ATA_UDMA4, > @@ -528,7 +532,8 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) > }; > /* Revision 0xC4 is UDMA100 */ > static const struct ata_port_info info_c4 = { > - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | > + ATA_FLAG_IGN_SIMPLEX, Why it's always so far to the right? > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .udma_mask = ATA_UDMA5, > @@ -536,7 +541,7 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) > }; > /* Revision 0xC5 is UDMA133 with LBA48 DMA */ > static const struct ata_port_info info_c5 = { > - .flags = ATA_FLAG_SLAVE_POSS, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_IGN_SIMPLEX, Extra space here. > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .udma_mask = ATA_UDMA6, MBR, Sergei ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] libata: Use IGN_SIMPLEX for ALi 2009-05-13 15:56 ` Sergei Shtylyov @ 2009-05-13 16:11 ` Alan Cox 0 siblings, 0 replies; 7+ messages in thread From: Alan Cox @ 2009-05-13 16:11 UTC (permalink / raw) To: Sergei Shtylyov; +Cc: jeff, linux-ide > > /* Revision 0xC4 is UDMA100 */ > > static const struct ata_port_info info_c4 = { > > - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, > > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | > > + ATA_FLAG_IGN_SIMPLEX, > > Why it's always so far to the right? Because your eyes are looking at the right hand side so by placing it below and to the right when it doesn't quite fit you minimise the effort needed to read it. Anyone for a typesetting war 8) Alan ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] libata: Use IGN_SIMPLEX for ALi 2009-05-13 14:02 ` [PATCH 1/2] libata: Use IGN_SIMPLEX for ALi Alan Cox 2009-05-13 15:56 ` Sergei Shtylyov @ 2009-05-20 20:11 ` Jeff Garzik 1 sibling, 0 replies; 7+ messages in thread From: Jeff Garzik @ 2009-05-20 20:11 UTC (permalink / raw) To: Alan Cox; +Cc: linux-ide Alan Cox wrote: > From: Alan Cox <alan@linux.intel.com> > > Some ALi devices report simplex if they have been disabled and re-enabled, and > restoring the byte does not work. Ignore it - the needed supporting logic is > already present for the SATA ULi ports. > > Signed-off-by: Alan Cox <alan@linux.intel.com> > --- > > drivers/ata/pata_ali.c | 17 +++++++++++------ > 1 files changed, 11 insertions(+), 6 deletions(-) > > > diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c > index 751b7ea..fc9c5d6 100644 > --- a/drivers/ata/pata_ali.c > +++ b/drivers/ata/pata_ali.c > @@ -497,14 +497,16 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) > }; > /* Revision 0x20 added DMA */ > static const struct ata_port_info info_20 = { > - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | > + ATA_FLAG_IGN_SIMPLEX, > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .port_ops = &ali_20_port_ops > }; > /* Revision 0x20 with support logic added UDMA */ > static const struct ata_port_info info_20_udma = { > - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | > + ATA_FLAG_IGN_SIMPLEX, > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .udma_mask = ATA_UDMA2, > @@ -512,7 +514,8 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) > }; > /* Revision 0xC2 adds UDMA66 */ > static const struct ata_port_info info_c2 = { > - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | > + ATA_FLAG_IGN_SIMPLEX, > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .udma_mask = ATA_UDMA4, > @@ -520,7 +523,8 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) > }; > /* Revision 0xC3 is UDMA66 for now */ > static const struct ata_port_info info_c3 = { > - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | > + ATA_FLAG_IGN_SIMPLEX, > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .udma_mask = ATA_UDMA4, > @@ -528,7 +532,8 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) > }; > /* Revision 0xC4 is UDMA100 */ > static const struct ata_port_info info_c4 = { > - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | > + ATA_FLAG_IGN_SIMPLEX, > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .udma_mask = ATA_UDMA5, > @@ -536,7 +541,7 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) > }; > /* Revision 0xC5 is UDMA133 with LBA48 DMA */ > static const struct ata_port_info info_c5 = { > - .flags = ATA_FLAG_SLAVE_POSS, > + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_IGN_SIMPLEX, > .pio_mask = ATA_PIO4, > .mwdma_mask = ATA_MWDMA2, > .udma_mask = ATA_UDMA6, applied ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] ata_piix: Enable parallel scan 2009-05-13 14:01 [PATCH 0/2] Series short description Alan Cox 2009-05-13 14:02 ` [PATCH 1/2] libata: Use IGN_SIMPLEX for ALi Alan Cox @ 2009-05-13 14:02 ` Alan Cox 2009-06-10 15:06 ` Jeff Garzik 1 sibling, 1 reply; 7+ messages in thread From: Alan Cox @ 2009-05-13 14:02 UTC (permalink / raw) To: jeff, linux-ide From: Arjan van de Ven <arjan@infradead.org> This patch turns on parallel scanning for the ata_piix driver. This driver is used on most netbooks (no AHCI for cheap storage it seems). The scan is the dominating time factor in the kernel boot for these devices; with this flag it gets cut in half for the device I used for testing (eeepc). Alan took a look at the driver source and concluded that it ought to be safe to do for this driver. Alan has also checked with the hardware team. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/ata/ata_piix.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index 0fba112..4ea02a7 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c @@ -1580,6 +1580,7 @@ static int __devinit piix_init_one(struct pci_dev *pdev, host->ports[1]->mwdma_mask = 0; host->ports[1]->udma_mask = 0; } + host->flags |= ATA_HOST_PARALLEL_SCAN; pci_set_master(pdev); return ata_pci_sff_activate_host(host, ata_sff_interrupt, &piix_sht); ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ata_piix: Enable parallel scan 2009-05-13 14:02 ` [PATCH 2/2] ata_piix: Enable parallel scan Alan Cox @ 2009-06-10 15:06 ` Jeff Garzik 0 siblings, 0 replies; 7+ messages in thread From: Jeff Garzik @ 2009-06-10 15:06 UTC (permalink / raw) To: Alan Cox; +Cc: linux-ide Alan Cox wrote: > From: Arjan van de Ven <arjan@infradead.org> > > This patch turns on parallel scanning for the ata_piix driver. > This driver is used on most netbooks (no AHCI for cheap storage it seems). > The scan is the dominating time factor in the kernel boot for these > devices; with this flag it gets cut in half for the device I used > for testing (eeepc). > Alan took a look at the driver source and concluded that it ought to be safe > to do for this driver. Alan has also checked with the hardware team. > > Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> > Signed-off-by: Alan Cox <alan@linux.intel.com> > --- > > drivers/ata/ata_piix.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > > diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c > index 0fba112..4ea02a7 100644 > --- a/drivers/ata/ata_piix.c > +++ b/drivers/ata/ata_piix.c > @@ -1580,6 +1580,7 @@ static int __devinit piix_init_one(struct pci_dev *pdev, > host->ports[1]->mwdma_mask = 0; > host->ports[1]->udma_mask = 0; > } > + host->flags |= ATA_HOST_PARALLEL_SCAN; > > pci_set_master(pdev); > return ata_pci_sff_activate_host(host, ata_sff_interrupt, &piix_sht); applied... let's see what explodes ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-06-10 15:06 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-05-13 14:01 [PATCH 0/2] Series short description Alan Cox 2009-05-13 14:02 ` [PATCH 1/2] libata: Use IGN_SIMPLEX for ALi Alan Cox 2009-05-13 15:56 ` Sergei Shtylyov 2009-05-13 16:11 ` Alan Cox 2009-05-20 20:11 ` Jeff Garzik 2009-05-13 14:02 ` [PATCH 2/2] ata_piix: Enable parallel scan Alan Cox 2009-06-10 15:06 ` Jeff Garzik
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).