Commit a78a8325 authored by Holger Schurig's avatar Holger Schurig Committed by John W. Linville

libertas: rename some registers to clarify their meaning

Signed-off-by: default avatarHolger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: default avatarDan Williams <dcbw@redhat.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 4c55523e
...@@ -205,8 +205,8 @@ static int if_cs_poll_while_fw_download(struct if_cs_card *card, uint addr, u8 r ...@@ -205,8 +205,8 @@ static int if_cs_poll_while_fw_download(struct if_cs_card *card, uint addr, u8 r
/* /*
* Used to send or receive data packets: * Used to send or receive data packets:
*/ */
#define IF_CS_HOST_WRITE 0x00000016 #define IF_CS_WRITE 0x00000016
#define IF_CS_HOST_WRITE_LEN 0x00000014 #define IF_CS_WRITE_LEN 0x00000014
#define IF_CS_READ 0x00000010 #define IF_CS_READ 0x00000010
#define IF_CS_READ_LEN 0x00000024 #define IF_CS_READ_LEN 0x00000024
...@@ -214,10 +214,10 @@ static int if_cs_poll_while_fw_download(struct if_cs_card *card, uint addr, u8 r ...@@ -214,10 +214,10 @@ static int if_cs_poll_while_fw_download(struct if_cs_card *card, uint addr, u8 r
* Used to send commands (and to send firmware block) and to * Used to send commands (and to send firmware block) and to
* receive command responses: * receive command responses:
*/ */
#define IF_CS_HOST_CMD 0x0000001A #define IF_CS_CMD 0x0000001A
#define IF_CS_HOST_CMD_LEN 0x00000018 #define IF_CS_CMD_LEN 0x00000018
#define IF_CS_CARD_CMD 0x00000012 #define IF_CS_RESP 0x00000012
#define IF_CS_CARD_CMD_LEN 0x00000030 #define IF_CS_RESP_LEN 0x00000030
/* /*
* The card status registers shows what the card/firmware actually * The card status registers shows what the card/firmware actually
...@@ -255,8 +255,8 @@ static int if_cs_poll_while_fw_download(struct if_cs_card *card, uint addr, u8 r ...@@ -255,8 +255,8 @@ static int if_cs_poll_while_fw_download(struct if_cs_card *card, uint addr, u8 r
* This is used to for handshaking with the card's bootloader/helper image * This is used to for handshaking with the card's bootloader/helper image
* to synchronize downloading of firmware blocks. * to synchronize downloading of firmware blocks.
*/ */
#define IF_CS_CARD_SQ_READ_LOW 0x00000028 #define IF_CS_SQ_READ_LOW 0x00000028
#define IF_CS_CARD_SQ_HELPER_OK 0x10 #define IF_CS_SQ_HELPER_OK 0x10
/* /*
* The scratch register tells us ... * The scratch register tells us ...
...@@ -305,8 +305,8 @@ static int if_cs_send_cmd(struct lbs_private *priv, u8 *buf, u16 nb) ...@@ -305,8 +305,8 @@ static int if_cs_send_cmd(struct lbs_private *priv, u8 *buf, u16 nb)
/* Is hardware ready? */ /* Is hardware ready? */
while (1) { while (1) {
u16 val = if_cs_read16(card, IF_CS_CARD_STATUS); u16 status = if_cs_read16(card, IF_CS_CARD_STATUS);
if (val & IF_CS_BIT_COMMAND) if (status & IF_CS_BIT_COMMAND)
break; break;
if (++loops > 100) { if (++loops > 100) {
lbs_pr_err("card not ready for commands\n"); lbs_pr_err("card not ready for commands\n");
...@@ -315,12 +315,12 @@ static int if_cs_send_cmd(struct lbs_private *priv, u8 *buf, u16 nb) ...@@ -315,12 +315,12 @@ static int if_cs_send_cmd(struct lbs_private *priv, u8 *buf, u16 nb)
mdelay(1); mdelay(1);
} }
if_cs_write16(card, IF_CS_HOST_CMD_LEN, nb); if_cs_write16(card, IF_CS_CMD_LEN, nb);
if_cs_write16_rep(card, IF_CS_HOST_CMD, buf, nb / 2); if_cs_write16_rep(card, IF_CS_CMD, buf, nb / 2);
/* Are we supposed to transfer an odd amount of bytes? */ /* Are we supposed to transfer an odd amount of bytes? */
if (nb & 1) if (nb & 1)
if_cs_write8(card, IF_CS_HOST_CMD, buf[nb-1]); if_cs_write8(card, IF_CS_CMD, buf[nb-1]);
/* "Assert the download over interrupt command in the Host /* "Assert the download over interrupt command in the Host
* status register" */ * status register" */
...@@ -351,12 +351,12 @@ static void if_cs_send_data(struct lbs_private *priv, u8 *buf, u16 nb) ...@@ -351,12 +351,12 @@ static void if_cs_send_data(struct lbs_private *priv, u8 *buf, u16 nb)
status = if_cs_read16(card, IF_CS_CARD_STATUS); status = if_cs_read16(card, IF_CS_CARD_STATUS);
BUG_ON((status & IF_CS_BIT_TX) == 0); BUG_ON((status & IF_CS_BIT_TX) == 0);
if_cs_write16(card, IF_CS_HOST_WRITE_LEN, nb); if_cs_write16(card, IF_CS_WRITE_LEN, nb);
/* write even number of bytes, then odd byte if necessary */ /* write even number of bytes, then odd byte if necessary */
if_cs_write16_rep(card, IF_CS_HOST_WRITE, buf, nb / 2); if_cs_write16_rep(card, IF_CS_WRITE, buf, nb / 2);
if (nb & 1) if (nb & 1)
if_cs_write8(card, IF_CS_HOST_WRITE, buf[nb-1]); if_cs_write8(card, IF_CS_WRITE, buf[nb-1]);
if_cs_write16(card, IF_CS_HOST_STATUS, IF_CS_BIT_TX); if_cs_write16(card, IF_CS_HOST_STATUS, IF_CS_BIT_TX);
if_cs_write16(card, IF_CS_HOST_INT_CAUSE, IF_CS_BIT_TX); if_cs_write16(card, IF_CS_HOST_INT_CAUSE, IF_CS_BIT_TX);
...@@ -384,16 +384,16 @@ static int if_cs_receive_cmdres(struct lbs_private *priv, u8 *data, u32 *len) ...@@ -384,16 +384,16 @@ static int if_cs_receive_cmdres(struct lbs_private *priv, u8 *data, u32 *len)
goto out; goto out;
} }
*len = if_cs_read16(priv->card, IF_CS_CARD_CMD_LEN); *len = if_cs_read16(priv->card, IF_CS_RESP_LEN);
if ((*len == 0) || (*len > LBS_CMD_BUFFER_SIZE)) { if ((*len == 0) || (*len > LBS_CMD_BUFFER_SIZE)) {
lbs_pr_err("card cmd buffer has invalid # of bytes (%d)\n", *len); lbs_pr_err("card cmd buffer has invalid # of bytes (%d)\n", *len);
goto out; goto out;
} }
/* read even number of bytes, then odd byte if necessary */ /* read even number of bytes, then odd byte if necessary */
if_cs_read16_rep(priv->card, IF_CS_CARD_CMD, data, *len/sizeof(u16)); if_cs_read16_rep(priv->card, IF_CS_RESP, data, *len/sizeof(u16));
if (*len & 1) if (*len & 1)
data[*len-1] = if_cs_read8(priv->card, IF_CS_CARD_CMD); data[*len-1] = if_cs_read8(priv->card, IF_CS_RESP);
/* This is a workaround for a firmware that reports too much /* This is a workaround for a firmware that reports too much
* bytes */ * bytes */
...@@ -501,12 +501,10 @@ static irqreturn_t if_cs_interrupt(int irq, void *data) ...@@ -501,12 +501,10 @@ static irqreturn_t if_cs_interrupt(int irq, void *data)
} }
if (cause & IF_CS_BIT_EVENT) { if (cause & IF_CS_BIT_EVENT) {
u16 event = if_cs_read16(priv->card, IF_CS_CARD_STATUS) u16 status = if_cs_read16(priv->card, IF_CS_CARD_STATUS);
& IF_CS_CARD_STATUS_MASK;
if_cs_write16(priv->card, IF_CS_HOST_INT_CAUSE, if_cs_write16(priv->card, IF_CS_HOST_INT_CAUSE,
IF_CS_BIT_EVENT); IF_CS_BIT_EVENT);
lbs_deb_cs("host event 0x%04x\n", event); lbs_queue_event(priv, (status & IF_CS_CARD_STATUS_MASK) >> 8);
lbs_queue_event(priv, event >> 8 & 0xff);
} }
/* Clear interrupt cause */ /* Clear interrupt cause */
...@@ -574,11 +572,11 @@ static int if_cs_prog_helper(struct if_cs_card *card) ...@@ -574,11 +572,11 @@ static int if_cs_prog_helper(struct if_cs_card *card)
/* "write the number of bytes to be sent to the I/O Command /* "write the number of bytes to be sent to the I/O Command
* write length register" */ * write length register" */
if_cs_write16(card, IF_CS_HOST_CMD_LEN, count); if_cs_write16(card, IF_CS_CMD_LEN, count);
/* "write this to I/O Command port register as 16 bit writes */ /* "write this to I/O Command port register as 16 bit writes */
if (count) if (count)
if_cs_write16_rep(card, IF_CS_HOST_CMD, if_cs_write16_rep(card, IF_CS_CMD,
&fw->data[sent], &fw->data[sent],
count >> 1); count >> 1);
...@@ -635,15 +633,15 @@ static int if_cs_prog_real(struct if_cs_card *card) ...@@ -635,15 +633,15 @@ static int if_cs_prog_real(struct if_cs_card *card)
} }
lbs_deb_cs("fw size %td\n", fw->size); lbs_deb_cs("fw size %td\n", fw->size);
ret = if_cs_poll_while_fw_download(card, IF_CS_CARD_SQ_READ_LOW, ret = if_cs_poll_while_fw_download(card, IF_CS_SQ_READ_LOW,
IF_CS_CARD_SQ_HELPER_OK); IF_CS_SQ_HELPER_OK);
if (ret < 0) { if (ret < 0) {
lbs_pr_err("helper firmware doesn't answer\n"); lbs_pr_err("helper firmware doesn't answer\n");
goto err_release; goto err_release;
} }
for (sent = 0; sent < fw->size; sent += len) { for (sent = 0; sent < fw->size; sent += len) {
len = if_cs_read16(card, IF_CS_CARD_SQ_READ_LOW); len = if_cs_read16(card, IF_CS_SQ_READ_LOW);
if (len & 1) { if (len & 1) {
retry++; retry++;
lbs_pr_info("odd, need to retry this firmware block\n"); lbs_pr_info("odd, need to retry this firmware block\n");
...@@ -661,9 +659,9 @@ static int if_cs_prog_real(struct if_cs_card *card) ...@@ -661,9 +659,9 @@ static int if_cs_prog_real(struct if_cs_card *card)
} }
if_cs_write16(card, IF_CS_HOST_CMD_LEN, len); if_cs_write16(card, IF_CS_CMD_LEN, len);
if_cs_write16_rep(card, IF_CS_HOST_CMD, if_cs_write16_rep(card, IF_CS_CMD,
&fw->data[sent], &fw->data[sent],
(len+1) >> 1); (len+1) >> 1);
if_cs_write8(card, IF_CS_HOST_STATUS, IF_CS_BIT_COMMAND); if_cs_write8(card, IF_CS_HOST_STATUS, IF_CS_BIT_COMMAND);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment