Skip to content

Commit

Permalink
iop_adma: cleanup iop_chan_xor_slot_count
Browse files Browse the repository at this point in the history
- use a table for iop13xx, trade text for data
- shrink the iop3xx to a cache line

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
  • Loading branch information
Dan Williams committed Jul 18, 2008
1 parent 5eb907a commit 2a46fa1
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 13 deletions.
18 changes: 7 additions & 11 deletions include/asm-arm/arch-iop13xx/adma.h
Original file line number Diff line number Diff line change
Expand Up @@ -198,17 +198,13 @@ iop_chan_memset_slot_count(size_t len, int *slots_per_op)
static inline int
iop_chan_xor_slot_count(size_t len, int src_cnt, int *slots_per_op)
{
int num_slots;
/* slots_to_find = 1 for basic descriptor + 1 per 4 sources above 1
* (1 source => 8 bytes) (1 slot => 32 bytes)
*/
num_slots = 1 + (((src_cnt - 1) << 3) >> 5);
if (((src_cnt - 1) << 3) & 0x1f)
num_slots++;

*slots_per_op = num_slots;

return num_slots;
static const char slot_count_table[] = { 1, 2, 2, 2,
2, 3, 3, 3,
3, 4, 4, 4,
4, 5, 5, 5,
};
*slots_per_op = slot_count_table[src_cnt - 1];
return *slots_per_op;
}

#define ADMA_MAX_BYTE_COUNT (16 * 1024 * 1024)
Expand Down
4 changes: 2 additions & 2 deletions include/asm-arm/hardware/iop3xx-adma.h
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ static inline int iop_chan_memset_slot_count(size_t len, int *slots_per_op)
static inline int iop3xx_aau_xor_slot_count(size_t len, int src_cnt,
int *slots_per_op)
{
static const int slot_count_table[] = { 0,
static const char slot_count_table[] = {
1, 1, 1, 1, /* 01 - 04 */
2, 2, 2, 2, /* 05 - 08 */
4, 4, 4, 4, /* 09 - 12 */
Expand All @@ -270,7 +270,7 @@ static inline int iop3xx_aau_xor_slot_count(size_t len, int src_cnt,
8, 8, 8, 8, /* 25 - 28 */
8, 8, 8, 8, /* 29 - 32 */
};
*slots_per_op = slot_count_table[src_cnt];
*slots_per_op = slot_count_table[src_cnt - 1];
return *slots_per_op;
}

Expand Down

0 comments on commit 2a46fa1

Please sign in to comment.