]> git.itanic.dy.fi Git - linux-stable/commit
net: ipa: start creating GSI register definitions
authorAlex Elder <elder@linaro.org>
Fri, 10 Feb 2023 19:36:50 +0000 (13:36 -0600)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Feb 2023 09:56:16 +0000 (09:56 +0000)
commitd2bb6e657f164e37fe6d170cac869904d9cc26bc
treeb20b164408b9d7db22f3813ec8bcbfdc9ece76c0
parent8f0fece65d9e6c7254cb030487cd5789af36caff
net: ipa: start creating GSI register definitions

Create a new register definition file in the "reg" subdirectory,
and begin populating it with GSI register definitions based on IPA
version.  The GSI registers haven't changed much, so several IPA
versions can share the same GSI register definitions.

As with IPA registers, an array of pointers indexed by GSI register ID
refers to these register definitions, and a new "regs" field in the
GSI structure is initialized in gsi_reg_init() to refer to register
information based on the IPA version (though for now there's only
one).  The new function gsi_reg() returns register information for
a given GSI register, and the result can be used to look up that
register's offset.

This patch is meant only to put the infrastructure in place, so only
eon register (CH_C_QOS) is defined for each version, and only the
offset and stride are defined for that register.  Use new function
gsi_reg() to look up that register's information to get its offset,
This makes the GSI_CH_C_QOS_OFFSET() unnecessary, so get rid of it.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ipa/Makefile
drivers/net/ipa/gsi.c
drivers/net/ipa/gsi.h
drivers/net/ipa/gsi_reg.c
drivers/net/ipa/gsi_reg.h
drivers/net/ipa/reg/gsi_reg-v3.1.c [new file with mode: 0644]