Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-09 Thread Conke Hu

On 1/10/07, Andrew Morton <[EMAIL PROTECTED]> wrote:


Here are the three patches.  Conke, can you please tell us whether this is
all correct and complete?

From: "Conke Hu" <[EMAIL PROTECTED]>

A previous patch to atiixp.c was removed but some code has not been
cleaned. Now we remove these code sine they are no use any longer.

Signed-off-by: Conke Hu <[EMAIL PROTECTED]>
Cc: Alan Cox <[EMAIL PROTECTED]>
Cc: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
Cc: Greg KH <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/ide/pci/atiixp.c |   21 +
 1 files changed, 1 insertion(+), 20 deletions(-)

diff -puN drivers/ide/pci/atiixp.c~atiixpc-remove-unused-code 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-remove-unused-code
+++ a/drivers/ide/pci/atiixp.c
@@ -320,19 +320,6 @@ static void __devinit init_hwif_atiixp(i
hwif->drives[0].autodma = hwif->autodma;
 }

-static void __devinit init_hwif_sb600_legacy(ide_hwif_t *hwif)
-{
-
-   hwif->atapi_dma = 1;
-   hwif->ultra_mask = 0x7f;
-   hwif->mwdma_mask = 0x07;
-   hwif->swdma_mask = 0x07;
-
-   if (!noautodma)
-   hwif->autodma = 1;
-   hwif->drives[0].autodma = hwif->autodma;
-   hwif->drives[1].autodma = hwif->autodma;
-}

 static ide_pci_device_t atiixp_pci_info[] __devinitdata = {
{   /* 0 */
@@ -342,13 +329,7 @@ static ide_pci_device_t atiixp_pci_info[
.autodma= AUTODMA,
.enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
.bootable   = ON_BOARD,
-   },{ /* 1 */
-   .name   = "ATI SB600 SATA Legacy IDE",
-   .init_hwif  = init_hwif_sb600_legacy,
-   .channels   = 2,
-   .autodma= AUTODMA,
-   .bootable   = ON_BOARD,
-   }
+   },
 };

 /**
_



From: "Conke Hu" <[EMAIL PROTECTED]>

AMD/ATI SB600 IDE/PATA controller only has one channel.

Signed-off-by: Conke Hu <[EMAIL PROTECTED]>
Cc: Alan Cox <[EMAIL PROTECTED]>
Cc: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
Cc: Greg KH <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/ide/pci/atiixp.c |   11 +--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff -puN drivers/ide/pci/atiixp.c~atiixpc-sb600-ide-only-has-one-channel 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-sb600-ide-only-has-one-channel
+++ a/drivers/ide/pci/atiixp.c
@@ -329,7 +329,14 @@ static ide_pci_device_t atiixp_pci_info[
.autodma= AUTODMA,
.enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
.bootable   = ON_BOARD,
-   },
+   },{ /* 1 */
+   .name   = "SB600_PATA",
+   .init_hwif  = init_hwif_atiixp,
+   .channels   = 1,
+   .autodma= AUTODMA,
+   .enablebits = {{0x48,0x01,0x00}, {0x00,0x00,0x00}},
+   .bootable   = ON_BOARD,
+   },
 };

 /**
@@ -350,7 +357,7 @@ static struct pci_device_id atiixp_pci_t
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP200_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP300_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
-   { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
+   { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 1},
{ 0, },
 };
 MODULE_DEVICE_TABLE(pci, atiixp_pci_tbl);
_


From: "Conke Hu" <[EMAIL PROTECTED]>

IDE HDD does not work if it uses a 40-pin PATA cable on ATI chipset.
This patch fixes the bug.

Signed-off-by: Conke Hu <[EMAIL PROTECTED]>
Cc: Alan Cox <[EMAIL PROTECTED]>
Cc: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
Cc: Greg KH <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/ide/pci/atiixp.c |   14 +++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff -puN 
drivers/ide/pci/atiixp.c~atiixpc-add-cable-detection-support-for-ati-ide 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-add-cable-detection-support-for-ati-ide
+++ a/drivers/ide/pci/atiixp.c
@@ -291,8 +291,12 @@ fast_ata_pio:

 static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
 {
+   u8 udma_mode = 0;
+   u8 ch = hwif->channel;
+   struct pci_dev *pdev = hwif->pci_dev;
+
if (!hwif->irq)
-   hwif->irq = hwif->channel ? 15 : 14;
+   hwif->irq = ch ? 15 : 14;

hwif->autodma = 0;
hwif->tuneproc = _tuneproc;
@@ -308,8 +312,12 @@ static void __devinit init_hwif_atiixp(i
hwif->mwdma_mask = 0x06;
hwif->swdma_mask = 0x04;

-   /* FIXME: proper cable detection needed */
-   hwif->udma_four = 1;
+   pci_read_config_byte(pdev, 

Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-09 Thread Andrew Morton
On Tue, 9 Jan 2007 14:54:01 +0100
"Bartlomiej Zolnierkiewicz" <[EMAIL PROTECTED]> wrote:

> The good news is that it doesn't matter now as Andrew fixed Conke's patches
> manually and applied them to -mm

I applied three pathces, but there's been such a storm of inadequately
changelogged mangled patches that I have little confidence that what I
applied was complete and up-to-date.

> [ but without my Acked-by-s :( ].

oop.

Here are the three patches.  Conke, can you please tell us whether this is
all correct and complete?


From: "Conke Hu" <[EMAIL PROTECTED]>

A previous patch to atiixp.c was removed but some code has not been
cleaned. Now we remove these code sine they are no use any longer.

Signed-off-by: Conke Hu <[EMAIL PROTECTED]>
Cc: Alan Cox <[EMAIL PROTECTED]>
Cc: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
Cc: Greg KH <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/ide/pci/atiixp.c |   21 +
 1 files changed, 1 insertion(+), 20 deletions(-)

diff -puN drivers/ide/pci/atiixp.c~atiixpc-remove-unused-code 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-remove-unused-code
+++ a/drivers/ide/pci/atiixp.c
@@ -320,19 +320,6 @@ static void __devinit init_hwif_atiixp(i
hwif->drives[0].autodma = hwif->autodma;
 }
 
-static void __devinit init_hwif_sb600_legacy(ide_hwif_t *hwif)
-{
-
-   hwif->atapi_dma = 1;
-   hwif->ultra_mask = 0x7f;
-   hwif->mwdma_mask = 0x07;
-   hwif->swdma_mask = 0x07;
-
-   if (!noautodma)
-   hwif->autodma = 1;
-   hwif->drives[0].autodma = hwif->autodma;
-   hwif->drives[1].autodma = hwif->autodma;
-}
 
 static ide_pci_device_t atiixp_pci_info[] __devinitdata = {
{   /* 0 */
@@ -342,13 +329,7 @@ static ide_pci_device_t atiixp_pci_info[
.autodma= AUTODMA,
.enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
.bootable   = ON_BOARD,
-   },{ /* 1 */
-   .name   = "ATI SB600 SATA Legacy IDE",
-   .init_hwif  = init_hwif_sb600_legacy,
-   .channels   = 2,
-   .autodma= AUTODMA,
-   .bootable   = ON_BOARD,
-   }
+   },
 };
 
 /**
_



From: "Conke Hu" <[EMAIL PROTECTED]>

AMD/ATI SB600 IDE/PATA controller only has one channel.

Signed-off-by: Conke Hu <[EMAIL PROTECTED]>
Cc: Alan Cox <[EMAIL PROTECTED]>
Cc: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
Cc: Greg KH <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/ide/pci/atiixp.c |   11 +--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff -puN drivers/ide/pci/atiixp.c~atiixpc-sb600-ide-only-has-one-channel 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-sb600-ide-only-has-one-channel
+++ a/drivers/ide/pci/atiixp.c
@@ -329,7 +329,14 @@ static ide_pci_device_t atiixp_pci_info[
.autodma= AUTODMA,
.enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
.bootable   = ON_BOARD,
-   },
+   },{ /* 1 */
+   .name   = "SB600_PATA",
+   .init_hwif  = init_hwif_atiixp,
+   .channels   = 1,
+   .autodma= AUTODMA,
+   .enablebits = {{0x48,0x01,0x00}, {0x00,0x00,0x00}},
+   .bootable   = ON_BOARD,
+   },
 };
 
 /**
@@ -350,7 +357,7 @@ static struct pci_device_id atiixp_pci_t
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP200_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP300_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
-   { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
+   { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 1},
{ 0, },
 };
 MODULE_DEVICE_TABLE(pci, atiixp_pci_tbl);
_


From: "Conke Hu" <[EMAIL PROTECTED]>

IDE HDD does not work if it uses a 40-pin PATA cable on ATI chipset.
This patch fixes the bug.

Signed-off-by: Conke Hu <[EMAIL PROTECTED]>
Cc: Alan Cox <[EMAIL PROTECTED]>
Cc: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
Cc: Greg KH <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/ide/pci/atiixp.c |   14 +++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff -puN 
drivers/ide/pci/atiixp.c~atiixpc-add-cable-detection-support-for-ati-ide 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-add-cable-detection-support-for-ati-ide
+++ a/drivers/ide/pci/atiixp.c
@@ -291,8 +291,12 @@ fast_ata_pio:
 
 static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
 {
+   u8 udma_mode = 0;
+   u8 ch = hwif->channel;
+   struct pci_dev *pdev = hwif->pci_dev;
+
if (!hwif->irq)
-   hwif->irq = 

Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-09 Thread Bartlomiej Zolnierkiewicz

The good news is that it doesn't matter now as Andrew fixed Conke's patches
manually and applied them to -mm [ but without my Acked-by-s :( ].

On 1/9/07, Jeff Garzik <[EMAIL PROTECTED]> wrote:

Conke Hu wrote:
> 
> --- linux-2.6.20-rc4/drivers/ide/pci/atiixp.c.32007-01-09
> 15:37:42.0 +0800
> +++ linux-2.6.20-rc4/drivers/ide/pci/atiixp.c2007-01-09
> 15:40:08.0 +0800
> @@ -291,8 +291,12 @@ fast_ata_pio:


Your patches are still getting word-wrapped...

Jeff

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-09 Thread Jeff Garzik

Conke Hu wrote:


--- linux-2.6.20-rc4/drivers/ide/pci/atiixp.c.32007-01-09
15:37:42.0 +0800
+++ linux-2.6.20-rc4/drivers/ide/pci/atiixp.c2007-01-09
15:40:08.0 +0800
@@ -291,8 +291,12 @@ fast_ata_pio:



Your patches are still getting word-wrapped...

Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-09 Thread Conke Hu

On 1/7/07, Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]> wrote:

On 1/6/07, Conke Hu <[EMAIL PROTECTED]> wrote:
> IDE HDD does not work if it uses a 40-pin PATA cable on ATI chipset.
> This patch fixes the bug.
>
> Signed-off-by: Conke Hu <[EMAIL PROTECTED]>

Acked-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>

[ the one is also line wrapped, please resend them ]



re-created.
pls apply it after the [patch 1/3] and [patch 2/3] :)

--- linux-2.6.20-rc4/drivers/ide/pci/atiixp.c.3 2007-01-09
15:37:42.0 +0800
+++ linux-2.6.20-rc4/drivers/ide/pci/atiixp.c   2007-01-09
15:40:08.0 +0800
@@ -291,8 +291,12 @@ fast_ata_pio:

static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
{
+   u8 udma_mode = 0;
+   u8 ch = hwif->channel;
+   struct pci_dev *pdev = hwif->pci_dev;
+
if (!hwif->irq)
-   hwif->irq = hwif->channel ? 15 : 14;
+   hwif->irq = ch ? 15 : 14;

hwif->autodma = 0;
hwif->tuneproc = _tuneproc;
@@ -308,8 +312,12 @@ static void __devinit init_hwif_atiixp(i
hwif->mwdma_mask = 0x06;
hwif->swdma_mask = 0x04;

-   /* FIXME: proper cable detection needed */
-   hwif->udma_four = 1;
+   pci_read_config_byte(pdev, ATIIXP_IDE_UDMA_MODE + ch, _mode);
+   if ((udma_mode & 0x07) >= 0x04 || (udma_mode & 0x70) >= 0x40)
+   hwif->udma_four = 1;
+   else
+   hwif->udma_four = 0;
+
hwif->ide_dma_host_on = _ide_dma_host_on;
hwif->ide_dma_host_off = _ide_dma_host_off;
hwif->ide_dma_check = _dma_check;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-09 Thread Conke Hu

On 1/7/07, Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] wrote:

On 1/6/07, Conke Hu [EMAIL PROTECTED] wrote:
 IDE HDD does not work if it uses a 40-pin PATA cable on ATI chipset.
 This patch fixes the bug.

 Signed-off-by: Conke Hu [EMAIL PROTECTED]

Acked-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]

[ the one is also line wrapped, please resend them ]



re-created.
pls apply it after the [patch 1/3] and [patch 2/3] :)

--- linux-2.6.20-rc4/drivers/ide/pci/atiixp.c.3 2007-01-09
15:37:42.0 +0800
+++ linux-2.6.20-rc4/drivers/ide/pci/atiixp.c   2007-01-09
15:40:08.0 +0800
@@ -291,8 +291,12 @@ fast_ata_pio:

static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
{
+   u8 udma_mode = 0;
+   u8 ch = hwif-channel;
+   struct pci_dev *pdev = hwif-pci_dev;
+
if (!hwif-irq)
-   hwif-irq = hwif-channel ? 15 : 14;
+   hwif-irq = ch ? 15 : 14;

hwif-autodma = 0;
hwif-tuneproc = atiixp_tuneproc;
@@ -308,8 +312,12 @@ static void __devinit init_hwif_atiixp(i
hwif-mwdma_mask = 0x06;
hwif-swdma_mask = 0x04;

-   /* FIXME: proper cable detection needed */
-   hwif-udma_four = 1;
+   pci_read_config_byte(pdev, ATIIXP_IDE_UDMA_MODE + ch, udma_mode);
+   if ((udma_mode  0x07) = 0x04 || (udma_mode  0x70) = 0x40)
+   hwif-udma_four = 1;
+   else
+   hwif-udma_four = 0;
+
hwif-ide_dma_host_on = atiixp_ide_dma_host_on;
hwif-ide_dma_host_off = atiixp_ide_dma_host_off;
hwif-ide_dma_check = atiixp_dma_check;
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-09 Thread Jeff Garzik

Conke Hu wrote:


--- linux-2.6.20-rc4/drivers/ide/pci/atiixp.c.32007-01-09
15:37:42.0 +0800
+++ linux-2.6.20-rc4/drivers/ide/pci/atiixp.c2007-01-09
15:40:08.0 +0800
@@ -291,8 +291,12 @@ fast_ata_pio:



Your patches are still getting word-wrapped...

Jeff


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-09 Thread Bartlomiej Zolnierkiewicz

The good news is that it doesn't matter now as Andrew fixed Conke's patches
manually and applied them to -mm [ but without my Acked-by-s :( ].

On 1/9/07, Jeff Garzik [EMAIL PROTECTED] wrote:

Conke Hu wrote:
 
 --- linux-2.6.20-rc4/drivers/ide/pci/atiixp.c.32007-01-09
 15:37:42.0 +0800
 +++ linux-2.6.20-rc4/drivers/ide/pci/atiixp.c2007-01-09
 15:40:08.0 +0800
 @@ -291,8 +291,12 @@ fast_ata_pio:


Your patches are still getting word-wrapped...

Jeff

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-09 Thread Andrew Morton
On Tue, 9 Jan 2007 14:54:01 +0100
Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] wrote:

 The good news is that it doesn't matter now as Andrew fixed Conke's patches
 manually and applied them to -mm

I applied three pathces, but there's been such a storm of inadequately
changelogged mangled patches that I have little confidence that what I
applied was complete and up-to-date.

 [ but without my Acked-by-s :( ].

oop.

Here are the three patches.  Conke, can you please tell us whether this is
all correct and complete?


From: Conke Hu [EMAIL PROTECTED]

A previous patch to atiixp.c was removed but some code has not been
cleaned. Now we remove these code sine they are no use any longer.

Signed-off-by: Conke Hu [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Cc: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/ide/pci/atiixp.c |   21 +
 1 files changed, 1 insertion(+), 20 deletions(-)

diff -puN drivers/ide/pci/atiixp.c~atiixpc-remove-unused-code 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-remove-unused-code
+++ a/drivers/ide/pci/atiixp.c
@@ -320,19 +320,6 @@ static void __devinit init_hwif_atiixp(i
hwif-drives[0].autodma = hwif-autodma;
 }
 
-static void __devinit init_hwif_sb600_legacy(ide_hwif_t *hwif)
-{
-
-   hwif-atapi_dma = 1;
-   hwif-ultra_mask = 0x7f;
-   hwif-mwdma_mask = 0x07;
-   hwif-swdma_mask = 0x07;
-
-   if (!noautodma)
-   hwif-autodma = 1;
-   hwif-drives[0].autodma = hwif-autodma;
-   hwif-drives[1].autodma = hwif-autodma;
-}
 
 static ide_pci_device_t atiixp_pci_info[] __devinitdata = {
{   /* 0 */
@@ -342,13 +329,7 @@ static ide_pci_device_t atiixp_pci_info[
.autodma= AUTODMA,
.enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
.bootable   = ON_BOARD,
-   },{ /* 1 */
-   .name   = ATI SB600 SATA Legacy IDE,
-   .init_hwif  = init_hwif_sb600_legacy,
-   .channels   = 2,
-   .autodma= AUTODMA,
-   .bootable   = ON_BOARD,
-   }
+   },
 };
 
 /**
_



From: Conke Hu [EMAIL PROTECTED]

AMD/ATI SB600 IDE/PATA controller only has one channel.

Signed-off-by: Conke Hu [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Cc: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/ide/pci/atiixp.c |   11 +--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff -puN drivers/ide/pci/atiixp.c~atiixpc-sb600-ide-only-has-one-channel 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-sb600-ide-only-has-one-channel
+++ a/drivers/ide/pci/atiixp.c
@@ -329,7 +329,14 @@ static ide_pci_device_t atiixp_pci_info[
.autodma= AUTODMA,
.enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
.bootable   = ON_BOARD,
-   },
+   },{ /* 1 */
+   .name   = SB600_PATA,
+   .init_hwif  = init_hwif_atiixp,
+   .channels   = 1,
+   .autodma= AUTODMA,
+   .enablebits = {{0x48,0x01,0x00}, {0x00,0x00,0x00}},
+   .bootable   = ON_BOARD,
+   },
 };
 
 /**
@@ -350,7 +357,7 @@ static struct pci_device_id atiixp_pci_t
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP200_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP300_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
-   { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
+   { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 1},
{ 0, },
 };
 MODULE_DEVICE_TABLE(pci, atiixp_pci_tbl);
_


From: Conke Hu [EMAIL PROTECTED]

IDE HDD does not work if it uses a 40-pin PATA cable on ATI chipset.
This patch fixes the bug.

Signed-off-by: Conke Hu [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Cc: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/ide/pci/atiixp.c |   14 +++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff -puN 
drivers/ide/pci/atiixp.c~atiixpc-add-cable-detection-support-for-ati-ide 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-add-cable-detection-support-for-ati-ide
+++ a/drivers/ide/pci/atiixp.c
@@ -291,8 +291,12 @@ fast_ata_pio:
 
 static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
 {
+   u8 udma_mode = 0;
+   u8 ch = hwif-channel;
+   struct pci_dev *pdev = hwif-pci_dev;
+
if (!hwif-irq)
-   hwif-irq = hwif-channel ? 15 : 14;
+   hwif-irq = ch ? 15 : 14;
 

Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-09 Thread Conke Hu

On 1/10/07, Andrew Morton [EMAIL PROTECTED] wrote:

snip
Here are the three patches.  Conke, can you please tell us whether this is
all correct and complete?

From: Conke Hu [EMAIL PROTECTED]

A previous patch to atiixp.c was removed but some code has not been
cleaned. Now we remove these code sine they are no use any longer.

Signed-off-by: Conke Hu [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Cc: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/ide/pci/atiixp.c |   21 +
 1 files changed, 1 insertion(+), 20 deletions(-)

diff -puN drivers/ide/pci/atiixp.c~atiixpc-remove-unused-code 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-remove-unused-code
+++ a/drivers/ide/pci/atiixp.c
@@ -320,19 +320,6 @@ static void __devinit init_hwif_atiixp(i
hwif-drives[0].autodma = hwif-autodma;
 }

-static void __devinit init_hwif_sb600_legacy(ide_hwif_t *hwif)
-{
-
-   hwif-atapi_dma = 1;
-   hwif-ultra_mask = 0x7f;
-   hwif-mwdma_mask = 0x07;
-   hwif-swdma_mask = 0x07;
-
-   if (!noautodma)
-   hwif-autodma = 1;
-   hwif-drives[0].autodma = hwif-autodma;
-   hwif-drives[1].autodma = hwif-autodma;
-}

 static ide_pci_device_t atiixp_pci_info[] __devinitdata = {
{   /* 0 */
@@ -342,13 +329,7 @@ static ide_pci_device_t atiixp_pci_info[
.autodma= AUTODMA,
.enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
.bootable   = ON_BOARD,
-   },{ /* 1 */
-   .name   = ATI SB600 SATA Legacy IDE,
-   .init_hwif  = init_hwif_sb600_legacy,
-   .channels   = 2,
-   .autodma= AUTODMA,
-   .bootable   = ON_BOARD,
-   }
+   },
 };

 /**
_



From: Conke Hu [EMAIL PROTECTED]

AMD/ATI SB600 IDE/PATA controller only has one channel.

Signed-off-by: Conke Hu [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Cc: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/ide/pci/atiixp.c |   11 +--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff -puN drivers/ide/pci/atiixp.c~atiixpc-sb600-ide-only-has-one-channel 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-sb600-ide-only-has-one-channel
+++ a/drivers/ide/pci/atiixp.c
@@ -329,7 +329,14 @@ static ide_pci_device_t atiixp_pci_info[
.autodma= AUTODMA,
.enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
.bootable   = ON_BOARD,
-   },
+   },{ /* 1 */
+   .name   = SB600_PATA,
+   .init_hwif  = init_hwif_atiixp,
+   .channels   = 1,
+   .autodma= AUTODMA,
+   .enablebits = {{0x48,0x01,0x00}, {0x00,0x00,0x00}},
+   .bootable   = ON_BOARD,
+   },
 };

 /**
@@ -350,7 +357,7 @@ static struct pci_device_id atiixp_pci_t
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP200_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP300_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
-   { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
+   { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 1},
{ 0, },
 };
 MODULE_DEVICE_TABLE(pci, atiixp_pci_tbl);
_


From: Conke Hu [EMAIL PROTECTED]

IDE HDD does not work if it uses a 40-pin PATA cable on ATI chipset.
This patch fixes the bug.

Signed-off-by: Conke Hu [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Cc: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/ide/pci/atiixp.c |   14 +++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff -puN 
drivers/ide/pci/atiixp.c~atiixpc-add-cable-detection-support-for-ati-ide 
drivers/ide/pci/atiixp.c
--- a/drivers/ide/pci/atiixp.c~atiixpc-add-cable-detection-support-for-ati-ide
+++ a/drivers/ide/pci/atiixp.c
@@ -291,8 +291,12 @@ fast_ata_pio:

 static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
 {
+   u8 udma_mode = 0;
+   u8 ch = hwif-channel;
+   struct pci_dev *pdev = hwif-pci_dev;
+
if (!hwif-irq)
-   hwif-irq = hwif-channel ? 15 : 14;
+   hwif-irq = ch ? 15 : 14;

hwif-autodma = 0;
hwif-tuneproc = atiixp_tuneproc;
@@ -308,8 +312,12 @@ static void __devinit init_hwif_atiixp(i
hwif-mwdma_mask = 0x06;
hwif-swdma_mask = 0x04;

-   /* FIXME: proper cable detection needed */
-   hwif-udma_four = 1;
+   pci_read_config_byte(pdev, ATIIXP_IDE_UDMA_MODE + ch, udma_mode);
+   if ((udma_mode  0x07) = 

Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-06 Thread Bartlomiej Zolnierkiewicz

On 1/6/07, Conke Hu <[EMAIL PROTECTED]> wrote:

IDE HDD does not work if it uses a 40-pin PATA cable on ATI chipset.
This patch fixes the bug.

Signed-off-by: Conke Hu <[EMAIL PROTECTED]>


Acked-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>

[ the one is also line wrapped, please resend them ]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-06 Thread Conke Hu

IDE HDD does not work if it uses a 40-pin PATA cable on ATI chipset.
This patch fixes the bug.

Signed-off-by: Conke Hu <[EMAIL PROTECTED]>
---
--- linux-2.6.20-rc3-git4/drivers/ide/pci/atiixp.c.22007-01-06
19:19:35.0 +0800
+++ linux-2.6.20-rc3-git4/drivers/ide/pci/atiixp.c  2007-01-06
19:22:34.0 +0800
@@ -289,8 +289,12 @@ fast_ata_pio:

static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
{
+   u8 udma_mode = 0;
+   u8 ch = hwif->channel;
+   struct pci_dev *pdev = hwif->pci_dev;
+
if (!hwif->irq)
-   hwif->irq = hwif->channel ? 15 : 14;
+   hwif->irq = ch ? 15 : 14;

hwif->autodma = 0;
hwif->tuneproc = _tuneproc;
@@ -306,8 +310,12 @@ static void __devinit init_hwif_atiixp(i
hwif->mwdma_mask = 0x06;
hwif->swdma_mask = 0x04;

-   /* FIXME: proper cable detection needed */
-   hwif->udma_four = 1;
+   pci_read_config_byte(pdev, ATIIXP_IDE_UDMA_MODE + ch, _mode);
+   if ((udma_mode & 0x07) >= 0x04 || (udma_mode & 0x70) >= 0x40)
+   hwif->udma_four = 1;
+   else
+   hwif->udma_four = 0;
+
hwif->ide_dma_host_on = _ide_dma_host_on;
hwif->ide_dma_host_off = _ide_dma_host_off;
hwif->ide_dma_check = _dma_check;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-06 Thread Conke Hu

IDE HDD does not work if it uses a 40-pin PATA cable on ATI chipset.
This patch fixes the bug.

Signed-off-by: Conke Hu [EMAIL PROTECTED]
---
--- linux-2.6.20-rc3-git4/drivers/ide/pci/atiixp.c.22007-01-06
19:19:35.0 +0800
+++ linux-2.6.20-rc3-git4/drivers/ide/pci/atiixp.c  2007-01-06
19:22:34.0 +0800
@@ -289,8 +289,12 @@ fast_ata_pio:

static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
{
+   u8 udma_mode = 0;
+   u8 ch = hwif-channel;
+   struct pci_dev *pdev = hwif-pci_dev;
+
if (!hwif-irq)
-   hwif-irq = hwif-channel ? 15 : 14;
+   hwif-irq = ch ? 15 : 14;

hwif-autodma = 0;
hwif-tuneproc = atiixp_tuneproc;
@@ -306,8 +310,12 @@ static void __devinit init_hwif_atiixp(i
hwif-mwdma_mask = 0x06;
hwif-swdma_mask = 0x04;

-   /* FIXME: proper cable detection needed */
-   hwif-udma_four = 1;
+   pci_read_config_byte(pdev, ATIIXP_IDE_UDMA_MODE + ch, udma_mode);
+   if ((udma_mode  0x07) = 0x04 || (udma_mode  0x70) = 0x40)
+   hwif-udma_four = 1;
+   else
+   hwif-udma_four = 0;
+
hwif-ide_dma_host_on = atiixp_ide_dma_host_on;
hwif-ide_dma_host_off = atiixp_ide_dma_host_off;
hwif-ide_dma_check = atiixp_dma_check;
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] atiixp.c: add cable detection support for ATI IDE

2007-01-06 Thread Bartlomiej Zolnierkiewicz

On 1/6/07, Conke Hu [EMAIL PROTECTED] wrote:

IDE HDD does not work if it uses a 40-pin PATA cable on ATI chipset.
This patch fixes the bug.

Signed-off-by: Conke Hu [EMAIL PROTECTED]


Acked-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]

[ the one is also line wrapped, please resend them ]
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/