65 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 551cd6add98fb3bde24ee8e4ffa76aec9fd9d40c Mon Sep 17 00:00:00 2001
 | |
| From: Bogdan Purcareata <bogdan.purcareata@nxp.com>
 | |
| Date: Mon, 2 Oct 2017 14:45:56 +0000
 | |
| Subject: [PATCH] dpaa2-eth: Add API for ceetm_id + tc in set congestion
 | |
| 
 | |
| Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
 | |
| ---
 | |
|  drivers/net/ethernet/freescale/dpaa2/dpni.c | 15 ++++++++++++---
 | |
|  drivers/net/ethernet/freescale/dpaa2/dpni.h |  6 ++++++
 | |
|  2 files changed, 18 insertions(+), 3 deletions(-)
 | |
| 
 | |
| --- a/drivers/net/ethernet/freescale/dpaa2/dpni.c
 | |
| +++ b/drivers/net/ethernet/freescale/dpaa2/dpni.c
 | |
| @@ -1448,7 +1448,10 @@ int dpni_set_rx_tc_dist(struct fsl_mc_io
 | |
|   * @cmd_flags:	Command flags; one or more of 'MC_CMD_FLAG_'
 | |
|   * @token:	Token of DPNI object
 | |
|   * @qtype:	Type of queue - Rx, Tx and Tx confirm types are supported
 | |
| - * @tc_id:	Traffic class selection (0-7)
 | |
| + * @tc_id:	bits 7-4 contain ceetm channel index (valid only for TX);
 | |
| + *		bits 3-0 contain traffic class.
 | |
| + *		Use macro DPNI_BUILD_CH_TC() to build correct value for
 | |
| + *		tc_id parameter
 | |
|   * @cfg:	Congestion notification configuration
 | |
|   *
 | |
|   * Return:	'0' on Success; error code otherwise.
 | |
| @@ -1674,7 +1677,10 @@ int dpni_reset_statistics(struct fsl_mc_
 | |
|   * @cg_point:	Congestion point
 | |
|   * @q_type:	Queue type on which the taildrop is configured.
 | |
|   *		Only Rx queues are supported for now
 | |
| - * @tc:		Traffic class to apply this taildrop to
 | |
| + * @tc:		bits 7-4 contain ceetm channel index (valid only for TX);
 | |
| + *		bits 3-0 contain traffic class.
 | |
| + *		Use macro DPNI_BUILD_CH_TC() to build correct value for
 | |
| + *		tc parameter.
 | |
|   * @q_index:	Index of the queue if the DPNI supports multiple queues for
 | |
|   *		traffic distribution. Ignored if CONGESTION_POINT is not 0.
 | |
|   * @taildrop:	Taildrop structure
 | |
| @@ -1718,7 +1724,10 @@ int dpni_set_taildrop(struct fsl_mc_io *
 | |
|   * @cg_point:	Congestion point
 | |
|   * @q_type:	Queue type on which the taildrop is configured.
 | |
|   *		Only Rx queues are supported for now
 | |
| - * @tc:		Traffic class to apply this taildrop to
 | |
| + * @tc:		bits 7-4 contain ceetm channel index (valid only for TX);
 | |
| + *		bits 3-0 contain traffic class.
 | |
| + *		Use macro DPNI_BUILD_CH_TC() to build correct value for
 | |
| + *		tc parameter.
 | |
|   * @q_index:	Index of the queue if the DPNI supports multiple queues for
 | |
|   *		traffic distribution. Ignored if CONGESTION_POINT is not 0.
 | |
|   * @taildrop:	Taildrop structure
 | |
| --- a/drivers/net/ethernet/freescale/dpaa2/dpni.h
 | |
| +++ b/drivers/net/ethernet/freescale/dpaa2/dpni.h
 | |
| @@ -996,6 +996,12 @@ struct dpni_congestion_notification_cfg
 | |
|  	u16 notification_mode;
 | |
|  };
 | |
|  
 | |
| +/** Compose TC parameter for function dpni_set_congestion_notification()
 | |
| + * and dpni_get_congestion_notification().
 | |
| + */
 | |
| +#define DPNI_BUILD_CH_TC(ceetm_ch_idx, tc) \
 | |
| +	((((ceetm_ch_idx) & 0x0F) << 4) | ((tc) & 0x0F))
 | |
| +
 | |
|  int dpni_set_congestion_notification(
 | |
|  			struct fsl_mc_io *mc_io,
 | |
|  			u32 cmd_flags,
 | 
