[PATCH linux dev-4.13 6/6] fsi/fsi-master-gpio: Reduce dpoll clocks

Christopher Bostic cbostic at linux.vnet.ibm.com
Wed May 9 06:00:04 AEST 2018


Reviewed-by: Christopher Bostic <cbostic at linux.vnet.ibm.com>


On 5/7/18 8:46 PM, Benjamin Herrenschmidt wrote:
> FSI_GPIO_DPOLL_CLOCKS is the number of clocks before sending
> a DPOLL command after receiving a BUSY status. It should be
> at least tSendDelay (16 clocks).
>
> According to comments in the code, it needs to also be at least
> 21 clocks due to HW issues.
>
> It's currently 100 clocks which impacts performances negatively
> in some cases. Reduces it in half to 50 clocks which seems to
> still be solid.
>
> Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> ---
>   drivers/fsi/fsi-master-gpio.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/fsi/fsi-master-gpio.c b/drivers/fsi/fsi-master-gpio.c
> index 029b0a5b6d89..bd2b2cbd5eb5 100644
> --- a/drivers/fsi/fsi-master-gpio.c
> +++ b/drivers/fsi/fsi-master-gpio.c
> @@ -29,7 +29,8 @@
>   #define	FSI_GPIO_CMD_TERM	0x3f
>   #define FSI_GPIO_CMD_ABS_AR	0x4
>
> -#define	FSI_GPIO_DPOLL_CLOCKS	100      /* < 21 will cause slave to hang */
> +
> +#define	FSI_GPIO_DPOLL_CLOCKS	50      /* < 21 will cause slave to hang */
>
>   /* Bus errors */
>   #define	FSI_GPIO_ERR_BUSY	1	/* Slave stuck in busy state */
> @@ -43,7 +44,7 @@
>   #define	FSI_GPIO_RESP_ACK	0
>   #define	FSI_GPIO_RESP_ACKD	4
>
> -#define	FSI_GPIO_MAX_BUSY	100
> +#define	FSI_GPIO_MAX_BUSY	200
>   #define	FSI_GPIO_MTOE_COUNT	1000
>   #define	FSI_GPIO_DRAIN_BITS	20
>   #define	FSI_GPIO_CRC_SIZE	4
>



More information about the openbmc mailing list