 cddd459140
			
		
	
	cddd459140
	
	
	
		
			
			Add patches for linux-5.4. The patches are from NXP LSDK-20.04 release which was tagged LSDK-20.04-V5.4. https://source.codeaurora.org/external/qoriq/qoriq-components/linux/ For boards LS1021A-IOT, and Traverse-LS1043 which are not involved in LSDK, port the dts patches from 4.14. The patches are sorted into the following categories: 301-arch-xxxx 302-dts-xxxx 303-core-xxxx 701-net-xxxx 801-audio-xxxx 802-can-xxxx 803-clock-xxxx 804-crypto-xxxx 805-display-xxxx 806-dma-xxxx 807-gpio-xxxx 808-i2c-xxxx 809-jailhouse-xxxx 810-keys-xxxx 811-kvm-xxxx 812-pcie-xxxx 813-pm-xxxx 814-qe-xxxx 815-sata-xxxx 816-sdhc-xxxx 817-spi-xxxx 818-thermal-xxxx 819-uart-xxxx 820-usb-xxxx 821-vfio-xxxx Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From fa4e59c0fe5e6e2fd8ba29cdcaa03988b3d301c6 Mon Sep 17 00:00:00 2001
 | |
| From: Bogdan Purcareata <bogdan.purcareata@nxp.com>
 | |
| Date: Mon, 23 Oct 2017 08:31:25 +0000
 | |
| Subject: [PATCH] dpaa2-eth: Update dpni_get_statistics
 | |
| 
 | |
| Statistics struct now contains an addditional page, with CEETM stats.
 | |
| Also update the cmd version, and the call where it's used.
 | |
| 
 | |
| Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
 | |
| ---
 | |
|  drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c     | 2 +-
 | |
|  drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c | 2 +-
 | |
|  drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h      | 3 ++-
 | |
|  drivers/net/ethernet/freescale/dpaa2/dpni.c          | 4 ++++
 | |
|  drivers/net/ethernet/freescale/dpaa2/dpni.h          | 1 +
 | |
|  5 files changed, 9 insertions(+), 3 deletions(-)
 | |
| 
 | |
| --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
 | |
| +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
 | |
| @@ -1479,7 +1479,7 @@ static void wait_for_egress_fq_empty(str
 | |
|  		goto out;
 | |
|  
 | |
|  	do {
 | |
| -		err = dpni_get_statistics(priv->mc_io, 0, priv->mc_token, 6,
 | |
| +		err = dpni_get_statistics(priv->mc_io, 0, priv->mc_token, 6, 0,
 | |
|  					  &stats);
 | |
|  		if (err)
 | |
|  			goto out;
 | |
| --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
 | |
| +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
 | |
| @@ -211,7 +211,7 @@ static void dpaa2_eth_get_ethtool_stats(
 | |
|  		if (j == 4 || j == 5)
 | |
|  			continue;
 | |
|  		err = dpni_get_statistics(priv->mc_io, 0, priv->mc_token,
 | |
| -					  j, &dpni_stats);
 | |
| +					  j, 0, &dpni_stats);
 | |
|  		if (err == -EINVAL)
 | |
|  			/* Older firmware versions don't support all pages */
 | |
|  			memset(&dpni_stats, 0, sizeof(dpni_stats));
 | |
| --- a/drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h
 | |
| +++ b/drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h
 | |
| @@ -70,7 +70,7 @@
 | |
|  #define DPNI_CMDID_CLR_FS_ENT				DPNI_CMD(0x246)
 | |
|  
 | |
|  #define DPNI_CMDID_SET_TX_PRIORITIES			DPNI_CMD_V2(0x250)
 | |
| -#define DPNI_CMDID_GET_STATISTICS			DPNI_CMD(0x25D)
 | |
| +#define DPNI_CMDID_GET_STATISTICS			DPNI_CMD_V2(0x25D)
 | |
|  #define DPNI_CMDID_RESET_STATISTICS			DPNI_CMD(0x25E)
 | |
|  #define DPNI_CMDID_GET_QUEUE				DPNI_CMD(0x25F)
 | |
|  #define DPNI_CMDID_SET_QUEUE				DPNI_CMD(0x260)
 | |
| @@ -287,6 +287,7 @@ struct dpni_rsp_get_tx_data_offset {
 | |
|  
 | |
|  struct dpni_cmd_get_statistics {
 | |
|  	u8 page_number;
 | |
| +	u8 param;
 | |
|  };
 | |
|  
 | |
|  struct dpni_rsp_get_statistics {
 | |
| --- a/drivers/net/ethernet/freescale/dpaa2/dpni.c
 | |
| +++ b/drivers/net/ethernet/freescale/dpaa2/dpni.c
 | |
| @@ -1604,6 +1604,8 @@ int dpni_get_queue(struct fsl_mc_io *mc_
 | |
|   * @token:	Token of DPNI object
 | |
|   * @page:	Selects the statistics page to retrieve, see
 | |
|   *		DPNI_GET_STATISTICS output. Pages are numbered 0 to 6.
 | |
| + * @param:	Custom parameter for some pages used to select a certain
 | |
| + *		statistic source, for example the TC.
 | |
|   * @stat:	Structure containing the statistics
 | |
|   *
 | |
|   * Return:	'0' on Success; Error code otherwise.
 | |
| @@ -1612,6 +1614,7 @@ int dpni_get_statistics(struct fsl_mc_io
 | |
|  			u32 cmd_flags,
 | |
|  			u16 token,
 | |
|  			u8 page,
 | |
| +			u8 param,
 | |
|  			union dpni_statistics *stat)
 | |
|  {
 | |
|  	struct fsl_mc_command cmd = { 0 };
 | |
| @@ -1625,6 +1628,7 @@ int dpni_get_statistics(struct fsl_mc_io
 | |
|  					  token);
 | |
|  	cmd_params = (struct dpni_cmd_get_statistics *)cmd.params;
 | |
|  	cmd_params->page_number = page;
 | |
| +	cmd_params->param = param;
 | |
|  
 | |
|  	/* send command to mc */
 | |
|  	err = mc_send_command(mc_io, &cmd);
 | |
| --- a/drivers/net/ethernet/freescale/dpaa2/dpni.h
 | |
| +++ b/drivers/net/ethernet/freescale/dpaa2/dpni.h
 | |
| @@ -494,6 +494,7 @@ int dpni_get_statistics(struct fsl_mc_io
 | |
|  			u32			cmd_flags,
 | |
|  			u16			token,
 | |
|  			u8			page,
 | |
| +			u8			param,
 | |
|  			union dpni_statistics	*stat);
 | |
|  
 | |
|  int dpni_reset_statistics(struct fsl_mc_io *mc_io,
 |