Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 206805
b: refs/heads/master
c: 60d3297
h: refs/heads/master
i:
  206803: a27fc4f
v: v3
  • Loading branch information
Clemens Ladisch committed Jun 10, 2010
1 parent 1a8bd86 commit 63f0ec3
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 7 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: 3e07ec0eee1662f89e57f84aff625065beb2b209
refs/heads/master: 60d32970c5a32e8c4f340a9e41993759ad658ef2
2 changes: 1 addition & 1 deletion trunk/drivers/firewire/core-cdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1044,7 +1044,7 @@ static int ioctl_get_cycle_timer2(struct client *client, union ioctl_arg *arg)

local_irq_disable();

cycle_time = card->driver->get_cycle_time(card);
cycle_time = card->driver->read_csr_reg(card, CSR_CYCLE_TIME);

switch (a->clk_id) {
case CLOCK_REALTIME: getnstimeofday(&ts); break;
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/firewire/core-transaction.c
Original file line number Diff line number Diff line change
Expand Up @@ -1025,7 +1025,8 @@ static void handle_registers(struct fw_card *card, struct fw_request *request,

case CSR_CYCLE_TIME:
if (TCODE_IS_READ_REQUEST(tcode) && length == 4)
*data = cpu_to_be32(card->driver->get_cycle_time(card));
*data = cpu_to_be32(card->driver->
read_csr_reg(card, CSR_CYCLE_TIME));
else
rcode = RCODE_TYPE_ERROR;
break;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/firewire/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ struct fw_card_driver {
int (*enable_phys_dma)(struct fw_card *card,
int node_id, int generation);

u32 (*get_cycle_time)(struct fw_card *card);
u32 (*read_csr_reg)(struct fw_card *card, int csr_offset);

struct fw_iso_context *
(*allocate_iso_context)(struct fw_card *card,
Expand Down
19 changes: 16 additions & 3 deletions trunk/drivers/firewire/ohci.c
Original file line number Diff line number Diff line change
Expand Up @@ -1939,9 +1939,8 @@ static u32 cycle_timer_ticks(u32 cycle_timer)
* error. (A PCI read should take at least 20 ticks of the 24.576 MHz timer to
* execute, so we have enough precision to compute the ratio of the differences.)
*/
static u32 ohci_get_cycle_time(struct fw_card *card)
static u32 get_cycle_time(struct fw_ohci *ohci)
{
struct fw_ohci *ohci = fw_ohci(card);
u32 c0, c1, c2;
u32 t0, t1, t2;
s32 diff01, diff12;
Expand Down Expand Up @@ -1970,6 +1969,20 @@ static u32 ohci_get_cycle_time(struct fw_card *card)
return c2;
}

static u32 ohci_read_csr_reg(struct fw_card *card, int csr_offset)
{
struct fw_ohci *ohci = fw_ohci(card);

switch (csr_offset) {
case CSR_CYCLE_TIME:
return get_cycle_time(ohci);

default:
WARN_ON(1);
return 0;
}
}

static void copy_iso_headers(struct iso_context *ctx, void *p)
{
int i = ctx->header_length;
Expand Down Expand Up @@ -2407,7 +2420,7 @@ static const struct fw_card_driver ohci_driver = {
.send_response = ohci_send_response,
.cancel_packet = ohci_cancel_packet,
.enable_phys_dma = ohci_enable_phys_dma,
.get_cycle_time = ohci_get_cycle_time,
.read_csr_reg = ohci_read_csr_reg,

.allocate_iso_context = ohci_allocate_iso_context,
.free_iso_context = ohci_free_iso_context,
Expand Down

0 comments on commit 63f0ec3

Please sign in to comment.