ahci: misc cleanups for EM stuff
PATCH 1/1 ahci: misc cleanups for EM stuff
Make the following EM related cleanups.
* Use msleep(1) instead of udelay(100) and reduce retry count to 5.
* s/MAX_SLOTS/EM_MAX_SLOTS/
* s/MAX_RETRY/EM_MAX_RETRY/
[ Impact: cleanup, use of longer and fewer msleep() instead of udelay() ]
--- drivers/ata/ahci.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)
drivers/ata/ahci.c +8 -8
@@ -77,8 +77,8 @@ static ssize_t ahci_led_store(struct ata_port *ap, const char *buf, size_t size);static ssize_t ahci_transmit_led_message (struct ata_port *ap,u32 state,ssize_t size); -#define MAX_SLOTS 8 -#define MAX_RETRY 15 +#define EM_MAX_SLOTS 8 +#define EM_MAX_RETRY 5enum {AHCI_PCI_BAR =5 ,
@@ -281,8 +281,8 @@ struct ahci_port_priv { unsigned int ncq_saw_dmas:1; unsigned int ncq_saw_sdb:1;u32 intr_mask;/* interrupts to enable */ -struct ahci_em_priv em_priv[MAX_SLOTS ];/* enclosure management info -* per PM slot */ +/* enclosure management info per PM slot */ +struct ahci_em_priv em_priv[EM_MAX_SLOTS ]; };static int ahci_scr_read (struct ata_link *link,unsigned int sc_reg,u32 *val);
@@ -1139,12 +1139,12 @@ static void ahci_start_port(struct ata_port *ap) emp = &pp->em_priv[link->pmp];/* EM Transmit bit maybe busy during init */ -for (i =0 ; i <MAX_RETRY ; i++) { +for (i =0 ; i <EM_MAX_RETRY ; i++) { rc =ahci_transmit_led_message (ap, emp->led_state,4 );if (rc == -EBUSY ) -udelay (100 ); +msleep (1 );else break ; }
@@ -1338,7 +1338,7 @@ static ssize_t ahci_transmit_led_message(struct ata_port *ap, u32 state,/* get the slot number from the message */ pmp = (state &EM_MSG_LED_PMP_SLOT ) >>8 ; -if (pmp <MAX_SLOTS ) +if (pmp <EM_MAX_SLOTS ) emp = &pp->em_priv[pmp];else return -EINVAL ;
@@ -1406,7 +1406,7 @@ static ssize_t ahci_led_store(struct ata_port *ap, const char *buf,/* get the slot number from the message */ pmp = (state &EM_MSG_LED_PMP_SLOT ) >>8 ; -if (pmp <MAX_SLOTS ) +if (pmp <EM_MAX_SLOTS ) emp = &pp->em_priv[pmp];else return -EINVAL ;
Quoted 9 lines · Tejun Heo
Make the following EM related cleanups.
* Use msleep(1) instead of udelay(100) and reduce retry count to 5.
* s/MAX_SLOTS/EM_MAX_SLOTS/
* s/MAX_RETRY/EM_MAX_RETRY/[ Impact: cleanup, use of longer and fewer
msleep()instead ofudelay()]Signed-off-by Tejun Heo <[email protected]>
Thanks Tejun, that should work fine.
Quoted 63 lines
--- drivers/ata/ahci.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)drivers/ata/ahci.c +8
-8@@ -77,8 +77,8 @@ static ssize_t ahci_led_store(struct ata_port *ap, const char *buf, size_t size);static ssize_t ahci_transmit_led_message (struct ata_port *ap,u32 state,ssize_t size); -#define MAX_SLOTS 8 -#define MAX_RETRY 15 +#define EM_MAX_SLOTS 8 +#define EM_MAX_RETRY 5enum {AHCI_PCI_BAR =5 ,@@ -281,8 +281,8 @@ struct ahci_port_priv { unsigned int ncq_saw_dmas:1; unsigned int ncq_saw_sdb:1;u32 intr_mask;/* interrupts to enable */ -struct ahci_em_priv em_priv[MAX_SLOTS ];/* enclosure management info -* per PM slot */ +/* enclosure management info per PM slot */ +struct ahci_em_priv em_priv[EM_MAX_SLOTS ]; };static int ahci_scr_read (struct ata_link *link,unsigned int sc_reg,u32 *val);@@ -1139,12 +1139,12 @@ static void ahci_start_port(struct ata_port *ap) emp = &pp->em_priv[link->pmp];/* EM Transmit bit maybe busy during init */ -for (i =0 ; i <MAX_RETRY ; i++) { +for (i =0 ; i <EM_MAX_RETRY ; i++) { rc =ahci_transmit_led_message (ap, emp->led_state,4 );if (rc == -EBUSY ) -udelay (100 ); +msleep (1 );else break ; }@@ -1338,7 +1338,7 @@ static ssize_t ahci_transmit_led_message(struct ata_port *ap, u32 state,/* get the slot number from the message */ pmp = (state &EM_MSG_LED_PMP_SLOT ) >>8 ; -if (pmp <MAX_SLOTS ) +if (pmp <EM_MAX_SLOTS ) emp = &pp->em_priv[pmp];else return -EINVAL ;@@ -1406,7 +1406,7 @@ static ssize_t ahci_led_store(struct ata_port *ap, const char *buf,/* get the slot number from the message */ pmp = (state &EM_MSG_LED_PMP_SLOT ) >>8 ; -if (pmp <MAX_SLOTS ) +if (pmp <EM_MAX_SLOTS ) emp = &pp->em_priv[pmp];else return -EINVAL ;
Quoted 18 lines · Tejun Heo
Make the following EM related cleanups.
* Use msleep(1) instead of udelay(100) and reduce retry count to 5.
* s/MAX_SLOTS/EM_MAX_SLOTS/
* s/MAX_RETRY/EM_MAX_RETRY/[ Impact: cleanup, use of longer and fewer
msleep()instead ofudelay()]Signed-off-by Tejun Heo <[email protected]>--- drivers/ata/ahci.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)drivers/ata/ahci.c +0
-0
drivers/ata/ahci.c static ssize_t ahci_led_store(struct ata_port *ap, const char *buf, · line 84
Quoted 10 lines
drivers/ata/ahci.c +2
-2@@ -77,8 +77,8 @@ static ssize_t ahci_led_store(struct ata_port *ap, const char *buf, size_t size);static ssize_t ahci_transmit_led_message (struct ata_port *ap,u32 state,ssize_t size); -#define MAX_SLOTS 8 -#define MAX_RETRY 15 +#define EM_MAX_SLOTS 8 +#define EM_MAX_RETRY 5enum {AHCI_PCI_BAR =5 ,
If you are going to change this, please move these into 'enum' where they belong...
Jeff
PATCH 1/1 ahci: misc cleanups for EM stuff
Make the following EM related cleanups.
* Use msleep(1) instead of udelay(100) and reduce retry count to 5.
* s/MAX_SLOTS/EM_MAX_SLOTS/, s/MAX_RETRY/EM_MAX_RETRY/
* Make EM constants enums as suggested by Jeff.
--- drivers/ata/ahci.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-)
drivers/ata/ahci.c +10 -8
@@ -77,8 +77,6 @@ static ssize_t ahci_led_store(struct ata_port *ap, const char *buf, size_t size);static ssize_t ahci_transmit_led_message (struct ata_port *ap,u32 state,ssize_t size); -#define MAX_SLOTS 8 -#define MAX_RETRY 15enum {AHCI_PCI_BAR =5 ,
@@ -230,6 +228,10 @@ enum {ICH_MAP =0x90 ,/* ICH MAP register */ +/* em constants */ +EM_MAX_SLOTS =8 , +EM_MAX_RETRY =5 , +/* em_ctl bits */ EM_CTL_RST = (1 <<9 ),/* Reset */ EM_CTL_TM = (1 << 8), /* Transmit Message */
@@ -281,8 +283,8 @@ struct ahci_port_priv { unsigned int ncq_saw_dmas:1; unsigned int ncq_saw_sdb:1;u32 intr_mask;/* interrupts to enable */ -struct ahci_em_priv em_priv[MAX_SLOTS ];/* enclosure management info -* per PM slot */ +/* enclosure management info per PM slot */ +struct ahci_em_priv em_priv[EM_MAX_SLOTS ]; };static int ahci_scr_read (struct ata_link *link,unsigned int sc_reg,u32 *val);
@@ -1139,12 +1141,12 @@ static void ahci_start_port(struct ata_port *ap) emp = &pp->em_priv[link->pmp];/* EM Transmit bit maybe busy during init */ -for (i =0 ; i <MAX_RETRY ; i++) { +for (i =0 ; i <EM_MAX_RETRY ; i++) { rc =ahci_transmit_led_message (ap, emp->led_state,4 );if (rc == -EBUSY ) -udelay (100 ); +msleep (1 );else break ; }
@@ -1338,7 +1340,7 @@ static ssize_t ahci_transmit_led_message(struct ata_port *ap, u32 state,/* get the slot number from the message */ pmp = (state &EM_MSG_LED_PMP_SLOT ) >>8 ; -if (pmp <MAX_SLOTS ) +if (pmp <EM_MAX_SLOTS ) emp = &pp->em_priv[pmp];else return -EINVAL ;
@@ -1406,7 +1408,7 @@ static ssize_t ahci_led_store(struct ata_port *ap, const char *buf,/* get the slot number from the message */ pmp = (state &EM_MSG_LED_PMP_SLOT ) >>8 ; -if (pmp <MAX_SLOTS ) +if (pmp <EM_MAX_SLOTS ) emp = &pp->em_priv[pmp];else return -EINVAL ;
Jeff Garzik
AppliedQuoted 6 lines · Tejun Heo
Make the following EM related cleanups.
* Use msleep(1) instead of udelay(100) and reduce retry count to 5.
* s/MAX_SLOTS/EM_MAX_SLOTS/, s/MAX_RETRY/EM_MAX_RETRY/
Quoted 7 lines
* Make EM constants enums as suggested by Jeff.
Signed-off-by Tejun Heo <[email protected]>Acked-by David Milburn <[email protected]>--- drivers/ata/ahci.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-)
applied