firewire: add CSR PRIORITY_BUDGET support
[deliverable/linux.git] / drivers / firewire / core-transaction.c
index 8146133818dc65d3392fb73a1c71056d11819eda..a61eb3fb957397aee8c3dd4868dcb7fbbad767bc 100644 (file)
@@ -1126,6 +1126,20 @@ static void handle_registers(struct fw_card *card, struct fw_request *request,
                        rcode = RCODE_TYPE_ERROR;
                break;
 
+       case CSR_PRIORITY_BUDGET:
+               if (!(card->driver->get_features(card) &
+                                               FEATURE_PRIORITY_BUDGET))
+                       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_BROADCAST_CHANNEL:
                if (tcode == TCODE_READ_QUADLET_REQUEST)
                        *data = cpu_to_be32(card->broadcast_channel);
This page took 0.024808 seconds and 5 git commands to generate.