Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 206822
b: refs/heads/master
c: b384cf1
h: refs/heads/master
v: v3
  • Loading branch information
Stefan Richter committed Jun 19, 2010
1 parent af150cd commit f51d7ef
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 70 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c8a94ded57e9cc2498d401b2f5c856213a3e19fb
refs/heads/master: b384cf18873da1ed100662aa7373edf5883a1c24
84 changes: 15 additions & 69 deletions trunk/drivers/firewire/core-transaction.c
Original file line number Diff line number Diff line change
Expand Up @@ -1006,38 +1006,30 @@ static void handle_registers(struct fw_card *card, struct fw_request *request,
unsigned long flags;

switch (reg) {
case CSR_STATE_CLEAR:
if (tcode == TCODE_READ_QUADLET_REQUEST)
*data = cpu_to_be32(card->driver->
read_csr_reg(card, CSR_STATE_CLEAR));
else if (tcode == TCODE_WRITE_QUADLET_REQUEST)
card->driver->write_csr_reg(card, CSR_STATE_CLEAR,
be32_to_cpu(*data));
else
rcode = RCODE_TYPE_ERROR;
break;

case CSR_STATE_SET:
if (tcode == TCODE_READ_QUADLET_REQUEST)
*data = cpu_to_be32(card->driver->
read_csr_reg(card, CSR_STATE_SET));
else if (tcode == TCODE_WRITE_QUADLET_REQUEST)
card->driver->write_csr_reg(card, CSR_STATE_SET,
be32_to_cpu(*data));
else
rcode = RCODE_TYPE_ERROR;
break;
case CSR_PRIORITY_BUDGET:
if (!card->priority_budget_implemented) {
rcode = RCODE_ADDRESS_ERROR;
break;
}
/* else fall through */

case CSR_NODE_IDS:
/*
* per IEEE 1394-2008 8.3.22.3, not IEEE 1394.1-2004 3.2.8
* and 9.6, but interoperable with IEEE 1394.1-2004 bridges
*/
/* fall through */

case CSR_STATE_CLEAR:
case CSR_STATE_SET:
case CSR_CYCLE_TIME:
case CSR_BUS_TIME:
case CSR_BUSY_TIMEOUT:
if (tcode == TCODE_READ_QUADLET_REQUEST)
*data = cpu_to_be32(card->driver->
read_csr_reg(card, CSR_NODE_IDS));
read_csr_reg(card, reg));
else if (tcode == TCODE_WRITE_QUADLET_REQUEST)
card->driver->write_csr_reg(card, CSR_NODE_IDS,
card->driver->write_csr_reg(card, reg,
be32_to_cpu(*data));
else
rcode = RCODE_TYPE_ERROR;
Expand Down Expand Up @@ -1078,52 +1070,6 @@ static void handle_registers(struct fw_card *card, struct fw_request *request,
}
break;

case CSR_CYCLE_TIME:
if (TCODE_IS_READ_REQUEST(tcode) && length == 4)
*data = cpu_to_be32(card->driver->
read_csr_reg(card, CSR_CYCLE_TIME));
else if (tcode == TCODE_WRITE_QUADLET_REQUEST)
card->driver->write_csr_reg(card, CSR_CYCLE_TIME,
be32_to_cpu(*data));
else
rcode = RCODE_TYPE_ERROR;
break;

case CSR_BUS_TIME:
if (tcode == TCODE_READ_QUADLET_REQUEST)
*data = cpu_to_be32(card->driver->
read_csr_reg(card, CSR_BUS_TIME));
else if (tcode == TCODE_WRITE_QUADLET_REQUEST)
card->driver->write_csr_reg(card, CSR_BUS_TIME,
be32_to_cpu(*data));
else
rcode = RCODE_TYPE_ERROR;
break;

case CSR_BUSY_TIMEOUT:
if (tcode == TCODE_READ_QUADLET_REQUEST)
*data = cpu_to_be32(card->driver->
read_csr_reg(card, CSR_BUSY_TIMEOUT));
else if (tcode == TCODE_WRITE_QUADLET_REQUEST)
card->driver->write_csr_reg(card, CSR_BUSY_TIMEOUT,
be32_to_cpu(*data));
else
rcode = RCODE_TYPE_ERROR;
break;

case CSR_PRIORITY_BUDGET:
if (!card->priority_budget_implemented)
rcode = RCODE_ADDRESS_ERROR;
else if (tcode == TCODE_READ_QUADLET_REQUEST)
*data = cpu_to_be32(card->driver->
read_csr_reg(card, CSR_PRIORITY_BUDGET));
else if (tcode == TCODE_WRITE_QUADLET_REQUEST)
card->driver->write_csr_reg(card, CSR_PRIORITY_BUDGET,
be32_to_cpu(*data));
else
rcode = RCODE_TYPE_ERROR;
break;

case CSR_MAINT_UTILITY:
if (tcode == TCODE_READ_QUADLET_REQUEST)
*data = card->maint_utility_register;
Expand Down

0 comments on commit f51d7ef

Please sign in to comment.