ahci: Add JMicron 362 device IDs
[pandora-kernel.git] / drivers / ata / pata_sil680.c
index 31f759b..b92eacf 100644 (file)
 
 /**
  *     sil680_selreg           -       return register base
- *     @hwif: interface
+ *     @ap: ATA interface
  *     @r: config offset
  *
- *     Turn a config register offset into the right address in either
- *     PCI space or MMIO space to access the control register in question
+ *     Turn a config register offset into the right address in PCI space
+ *     to access the control register in question.
+ *
  *     Thankfully this is a configuration operation so isn't performance
  *     criticial.
  */
@@ -56,12 +57,12 @@ static unsigned long sil680_selreg(struct ata_port *ap, int r)
 
 /**
  *     sil680_seldev           -       return register base
- *     @hwif: interface
+ *     @ap: ATA interface
  *     @r: config offset
  *
- *     Turn a config register offset into the right address in either
- *     PCI space or MMIO space to access the control register in question
- *     including accounting for the unit shift.
+ *     Turn a config register offset into the right address in PCI space
+ *     to access the control register in question including accounting for
+ *     the unit shift.
  */
 
 static unsigned long sil680_seldev(struct ata_port *ap, struct ata_device *adev, int r)
@@ -81,7 +82,8 @@ static unsigned long sil680_seldev(struct ata_port *ap, struct ata_device *adev,
  *     space for us.
  */
 
-static int sil680_cable_detect(struct ata_port *ap) {
+static int sil680_cable_detect(struct ata_port *ap)
+{
        struct pci_dev *pdev = to_pci_dev(ap->host->dev);
        unsigned long addr = sil680_selreg(ap, 0);
        u8 ata66;
@@ -93,7 +95,7 @@ static int sil680_cable_detect(struct ata_port *ap) {
 }
 
 /**
- *     sil680_set_piomode      -       set initial PIO mode data
+ *     sil680_set_piomode      -       set PIO mode data
  *     @ap: ATA interface
  *     @adev: ATA device
  *
@@ -104,8 +106,12 @@ static int sil680_cable_detect(struct ata_port *ap) {
 
 static void sil680_set_piomode(struct ata_port *ap, struct ata_device *adev)
 {
-       static u16 speed_p[5] = { 0x328A, 0x2283, 0x1104, 0x10C3, 0x10C1 };
-       static u16 speed_t[5] = { 0x328A, 0x2283, 0x1281, 0x10C3, 0x10C1 };
+       static const u16 speed_p[5] = {
+               0x328A, 0x2283, 0x1104, 0x10C3, 0x10C1
+       };
+       static const u16 speed_t[5] = {
+               0x328A, 0x2283, 0x1281, 0x10C3, 0x10C1
+       };
 
        unsigned long tfaddr = sil680_selreg(ap, 0x02);
        unsigned long addr = sil680_seldev(ap, adev, 0x04);
@@ -140,22 +146,23 @@ static void sil680_set_piomode(struct ata_port *ap, struct ata_device *adev)
 }
 
 /**
- *     sil680_set_dmamode      -       set initial DMA mode data
+ *     sil680_set_dmamode      -       set DMA mode data
  *     @ap: ATA interface
  *     @adev: ATA device
  *
- *     Program the MWDMA/UDMA modes for the sil680 k
- *     chipset. The MWDMA mode values are pulled from a lookup table
+ *     Program the MWDMA/UDMA modes for the sil680 chipset.
+ *
+ *     The MWDMA mode values are pulled from a lookup table
  *     while the chipset uses mode number for UDMA.
  */
 
 static void sil680_set_dmamode(struct ata_port *ap, struct ata_device *adev)
 {
-       static u8 ultra_table[2][7] = {
+       static const u8 ultra_table[2][7] = {
                { 0x0C, 0x07, 0x05, 0x04, 0x02, 0x01, 0xFF },   /* 100MHz */
                { 0x0F, 0x0B, 0x07, 0x05, 0x03, 0x02, 0x01 },   /* 133Mhz */
        };
-       static u16 dma_table[3] = { 0x2208, 0x10C2, 0x10C1 };
+       static const u16 dma_table[3] = { 0x2208, 0x10C2, 0x10C1 };
 
        struct pci_dev *pdev = to_pci_dev(ap->host->dev);
        unsigned long ma = sil680_seldev(ap, adev, 0x08);
@@ -175,7 +182,7 @@ static void sil680_set_dmamode(struct ata_port *ap, struct ata_device *adev)
        mode &= ~(0x03 << port_shift);
 
        /* Extract scsc */
-       scsc = (scsc & 0x30) ? 1: 0;
+       scsc = (scsc & 0x30) ? 1 : 0;
 
        if (adev->dma_mode >= XFER_UDMA_0) {
                multi = 0x10C1;
@@ -248,7 +255,7 @@ static u8 sil680_init_chip(struct pci_dev *pdev, int *try_mmio)
 {
        u8 tmpbyte      = 0;
 
-        /* FIXME: double check */
+       /* FIXME: double check */
        pci_write_config_byte(pdev, PCI_CACHE_LINE_SIZE,
                              pdev->revision ? 1 : 255);
 
@@ -266,22 +273,22 @@ static u8 sil680_init_chip(struct pci_dev *pdev, int *try_mmio)
                *try_mmio = (tmpbyte & 1) || pci_resource_start(pdev, 5);
 #endif
 
-       switch(tmpbyte & 0x30) {
-               case 0x00:
-                       /* 133 clock attempt to force it on */
-                       pci_write_config_byte(pdev, 0x8A, tmpbyte|0x10);
-                       break;
-               case 0x30:
-                       /* if clocking is disabled */
-                       /* 133 clock attempt to force it on */
-                       pci_write_config_byte(pdev, 0x8A, tmpbyte & ~0x20);
-                       break;
-               case 0x10:
-                       /* 133 already */
-                       break;
-               case 0x20:
-                       /* BIOS set PCI x2 clocking */
-                       break;
+       switch (tmpbyte & 0x30) {
+       case 0x00:
+               /* 133 clock attempt to force it on */
+               pci_write_config_byte(pdev, 0x8A, tmpbyte|0x10);
+               break;
+       case 0x30:
+               /* if clocking is disabled */
+               /* 133 clock attempt to force it on */
+               pci_write_config_byte(pdev, 0x8A, tmpbyte & ~0x20);
+               break;
+       case 0x10:
+               /* 133 already */
+               break;
+       case 0x20:
+               /* BIOS set PCI x2 clocking */
+               break;
        }
 
        pci_read_config_byte(pdev,   0x8A, &tmpbyte);
@@ -299,12 +306,19 @@ static u8 sil680_init_chip(struct pci_dev *pdev, int *try_mmio)
        pci_write_config_dword(pdev, 0xB8, 0x43924392);
        pci_write_config_dword(pdev, 0xBC, 0x40094009);
 
-       switch(tmpbyte & 0x30) {
-               case 0x00: printk(KERN_INFO "sil680: 100MHz clock.\n");break;
-               case 0x10: printk(KERN_INFO "sil680: 133MHz clock.\n");break;
-               case 0x20: printk(KERN_INFO "sil680: Using PCI clock.\n");break;
-               /* This last case is _NOT_ ok */
-               case 0x30: printk(KERN_ERR "sil680: Clock disabled ?\n");
+       switch (tmpbyte & 0x30) {
+       case 0x00:
+               printk(KERN_INFO "sil680: 100MHz clock.\n");
+               break;
+       case 0x10:
+               printk(KERN_INFO "sil680: 133MHz clock.\n");
+               break;
+       case 0x20:
+               printk(KERN_INFO "sil680: Using PCI clock.\n");
+               break;
+       /* This last case is _NOT_ ok */
+       case 0x30:
+               printk(KERN_ERR "sil680: Clock disabled ?\n");
        }
        return tmpbyte & 0x30;
 }