mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 02:17:36 -04:00
thunderbolt / net: Move ring_frame_size() to thunderbolt.h
This function can be used outside of thunderbolt networking driver so move it to the common header. No functional changes. Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
@@ -38,7 +38,7 @@
|
||||
#define TBNET_MATCH_FRAGS_ID BIT(1)
|
||||
#define TBNET_64K_FRAMES BIT(2)
|
||||
#define TBNET_MAX_MTU SZ_64K
|
||||
#define TBNET_FRAME_SIZE SZ_4K
|
||||
#define TBNET_FRAME_SIZE TB_MAX_FRAME_SIZE
|
||||
#define TBNET_MAX_PAYLOAD_SIZE \
|
||||
(TBNET_FRAME_SIZE - sizeof(struct thunderbolt_ip_frame_header))
|
||||
/* Rx packets need to hold space for skb_shared_info */
|
||||
@@ -327,11 +327,6 @@ static void stop_login(struct tbnet *net)
|
||||
netdev_dbg(net->dev, "login stopped\n");
|
||||
}
|
||||
|
||||
static inline unsigned int tbnet_frame_size(const struct tbnet_frame *tf)
|
||||
{
|
||||
return tf->frame.size ? : TBNET_FRAME_SIZE;
|
||||
}
|
||||
|
||||
static void tbnet_free_buffers(struct tbnet_ring *ring)
|
||||
{
|
||||
unsigned int i;
|
||||
@@ -562,7 +557,7 @@ static struct tbnet_frame *tbnet_get_tx_buffer(struct tbnet *net)
|
||||
tf->frame.size = 0;
|
||||
|
||||
dma_sync_single_for_cpu(dma_dev, tf->frame.buffer_phy,
|
||||
tbnet_frame_size(tf), DMA_TO_DEVICE);
|
||||
tb_ring_frame_size(&tf->frame), DMA_TO_DEVICE);
|
||||
|
||||
return tf;
|
||||
}
|
||||
@@ -744,7 +739,7 @@ static bool tbnet_check_frame(struct tbnet *net, const struct tbnet_frame *tf,
|
||||
}
|
||||
|
||||
/* Should be greater than just header i.e. contains data */
|
||||
size = tbnet_frame_size(tf);
|
||||
size = tb_ring_frame_size(&tf->frame);
|
||||
if (size <= sizeof(*hdr)) {
|
||||
net->stats.rx_length_errors++;
|
||||
return false;
|
||||
@@ -1011,7 +1006,8 @@ static bool tbnet_xmit_csum_and_map(struct tbnet *net, struct sk_buff *skb,
|
||||
hdr->frame_index, hdr->frame_count);
|
||||
dma_sync_single_for_device(dma_dev,
|
||||
frames[i]->frame.buffer_phy,
|
||||
tbnet_frame_size(frames[i]), DMA_TO_DEVICE);
|
||||
tb_ring_frame_size(&frames[i]->frame),
|
||||
DMA_TO_DEVICE);
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -1085,7 +1081,7 @@ static bool tbnet_xmit_csum_and_map(struct tbnet *net, struct sk_buff *skb,
|
||||
*/
|
||||
for (i = 0; i < frame_count; i++) {
|
||||
dma_sync_single_for_device(dma_dev, frames[i]->frame.buffer_phy,
|
||||
tbnet_frame_size(frames[i]), DMA_TO_DEVICE);
|
||||
tb_ring_frame_size(&frames[i]->frame), DMA_TO_DEVICE);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -628,7 +628,15 @@ struct ring_frame {
|
||||
};
|
||||
|
||||
/* Minimum size for ring_rx */
|
||||
#define TB_FRAME_SIZE 0x100
|
||||
#define TB_FRAME_SIZE 256
|
||||
#define TB_MAX_FRAME_SIZE 4096
|
||||
|
||||
static inline size_t tb_ring_frame_size(const struct ring_frame *frame)
|
||||
{
|
||||
if (frame->size)
|
||||
return frame->size;
|
||||
return TB_MAX_FRAME_SIZE;
|
||||
}
|
||||
|
||||
struct tb_ring *tb_ring_alloc_tx(struct tb_nhi *nhi, int hop, int size,
|
||||
unsigned int flags);
|
||||
|
||||
Reference in New Issue
Block a user