[RFC PATCH 3/4] etnaviv: Add a new function to emit a series of states to cmd stream
Lucas Stach
l.stach at pengutronix.de
Mon Jun 16 08:16:40 UTC 2025
Am Donnerstag, dem 05.06.2025 um 14:12 +0200 schrieb Gert Wollny:
> Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
> ---
> drivers/gpu/drm/etnaviv/etnaviv_buffer.h | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_buffer.h b/drivers/gpu/drm/etnaviv/etnaviv_buffer.h
> index 0cb65a0c3bfc..b0a093b28774 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_buffer.h
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_buffer.h
> @@ -41,6 +41,20 @@ static inline void CMD_LOAD_STATE(struct etnaviv_cmdbuf *buffer,
> OUT(buffer, value);
> }
>
> +static inline void CMD_LOAD_STATES_START(struct etnaviv_cmdbuf *buffer,
> + u32 reg, u32 nvalues)
> +{
> + u32 index = reg >> VIV_FE_LOAD_STATE_HEADER_OFFSET__SHR;
> +
> + buffer->user_size = ALIGN(buffer->user_size, 8);
> +
> + /* write a register via cmd stream */
> + OUT(buffer, VIV_FE_LOAD_STATE_HEADER_OP_LOAD_STATE |
> + VIV_FE_LOAD_STATE_HEADER_OFFSET(index) |
I see we aren't totally consistent in the other functions right now,
but please align those continued lines to the second argument.
> + (VIV_FE_LOAD_STATE_HEADER_COUNT(nvalues) &
> + VIV_FE_LOAD_STATE_HEADER_COUNT__MASK));
VIV_FE_LOAD_STATE_HEADER_COUNT already includes
VIV_FE_LOAD_STATE_HEADER_COUNT__MASK, so you don't need to do mask it
here.
Regards,
Lucas
> +}
> +
> static inline void CMD_END(struct etnaviv_cmdbuf *buffer)
> {
> buffer->user_size = ALIGN(buffer->user_size, 8);
More information about the etnaviv
mailing list