Skip to content

Commit

Permalink
firewire: sbp2: octlet AT payloads can be stack-allocated
Browse files Browse the repository at this point in the history
We do not need slab allocations for ORB pointer write transactions
anymore in order to satisfy streaming DMA mapping constraints, thanks to
commit da28947 "firewire: ohci: avoid separate DMA mapping for
small AT payloads".

(Besides, the slab-allocated buffers that firewire-sbp2 used to provide
for 8-byte write requests were still not fully portable since they
shared a cacheline with unrelated CPU-accessed data.)

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
  • Loading branch information
Stefan Richter committed May 10, 2011
1 parent b75ca5e commit 81bf52d
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/firewire/sbp2.c
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,6 @@ struct sbp2_orb {
struct kref kref;
dma_addr_t request_bus;
int rcode;
struct sbp2_pointer pointer;
void (*callback)(struct sbp2_orb * orb, struct sbp2_status * status);
struct list_head link;
};
Expand Down Expand Up @@ -490,10 +489,11 @@ static void sbp2_send_orb(struct sbp2_orb *orb, struct sbp2_logical_unit *lu,
int node_id, int generation, u64 offset)
{
struct fw_device *device = target_device(lu->tgt);
struct sbp2_pointer orb_pointer;
unsigned long flags;

orb->pointer.high = 0;
orb->pointer.low = cpu_to_be32(orb->request_bus);
orb_pointer.high = 0;
orb_pointer.low = cpu_to_be32(orb->request_bus);

spin_lock_irqsave(&device->card->lock, flags);
list_add_tail(&orb->link, &lu->orb_list);
Expand All @@ -504,7 +504,7 @@ static void sbp2_send_orb(struct sbp2_orb *orb, struct sbp2_logical_unit *lu,

fw_send_request(device->card, &orb->t, TCODE_WRITE_BLOCK_REQUEST,
node_id, generation, device->max_speed, offset,
&orb->pointer, 8, complete_transaction, orb);
&orb_pointer, 8, complete_transaction, orb);
}

static int sbp2_cancel_orbs(struct sbp2_logical_unit *lu)
Expand Down

0 comments on commit 81bf52d

Please sign in to comment.