linux/drivers/net/ipa
Alex Elder 4a0d7579d4 net: ipa: avoid going past end of resource group array
The minimum and maximum limits for resources assigned to a given
resource group are programmed in pairs, with the limits for two
groups set in a single register.

If the number of supported resource groups is odd, only half of the
register that defines these limits is valid for the last group; that
group has no second group in the pair.

Currently we ignore this constraint, and it turns out to be harmless,
but it is not guaranteed to be.  This patch addresses that, and adds
support for programming the 5th resource group's limits.

Rework how the resource group limit registers are programmed by
having a single function program all group pairs rather than having
one function program each pair.  Add the programming of the 4-5
resource group pair limits to this function.  If a resource group is
not supported, pass a null pointer to ipa_resource_config_common()
for that group and have that function write zeroes in that case.

Tested-by: Sujit Kautkar <sujitka@chromium.org>
Signed-off-by: Alex Elder <elder@linaro.org>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-10-30 17:20:13 -07:00
..
gsi_private.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
gsi_reg.h net: ipa: share field mask values for GSI general interrupt 2020-09-28 18:34:56 -07:00
gsi_trans.c net: ipa: command payloads already mapped 2020-10-23 18:28:52 -07:00
gsi_trans.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
gsi.c net: ipa: fix two mild warnings 2020-09-28 18:34:56 -07:00
gsi.h net: ipa: do not enable GSI interrupt for wakeup 2020-09-18 17:47:07 -07:00
ipa_clock.c net: ipa: manage endpoints separate from clock 2020-09-18 17:47:07 -07:00
ipa_clock.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_cmd.c net: ipa: introduce ipa_cmd_tag_process() 2020-06-30 13:10:57 -07:00
ipa_cmd.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_data-sc7180.c net: ipa: assign endpoint to a resource group 2020-10-30 17:20:07 -07:00
ipa_data-sdm845.c net: ipa: assign endpoint to a resource group 2020-10-30 17:20:07 -07:00
ipa_data.h net: ipa: distinguish between resource group types 2020-10-30 17:20:10 -07:00
ipa_endpoint.c net: ipa: assign endpoint to a resource group 2020-10-30 17:20:07 -07:00
ipa_endpoint.h drivers: ipa: remove discription of nonexistent element 2020-05-27 14:58:28 -07:00
ipa_gsi.c net: ipa: include declarations in "ipa_gsi.c" 2020-07-07 12:43:18 -07:00
ipa_gsi.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_interrupt.c net: ipa: enable wakeup on IPA interrupt 2020-09-18 17:47:07 -07:00
ipa_interrupt.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_main.c net: ipa: avoid going past end of resource group array 2020-10-30 17:20:13 -07:00
ipa_mem.c net: ipa: assign proper packet context base 2020-10-30 17:19:58 -07:00
ipa_mem.h net: ipa: redefine struct ipa_mem_data 2020-05-04 11:26:55 -07:00
ipa_modem.c net: ipa: new notification infrastructure 2020-07-28 17:10:47 -07:00
ipa_modem.h
ipa_qmi_msg.c net: ipa: fix QMI structure definition bugs 2020-07-07 12:43:18 -07:00
ipa_qmi_msg.h
ipa_qmi.c
ipa_qmi.h
ipa_reg.c
ipa_reg.h net: ipa: distinguish between resource group types 2020-10-30 17:20:10 -07:00
ipa_smp2p.c drivers: ipa: fix typos for ipa_smp2p structure doc 2020-05-14 13:06:55 -07:00
ipa_smp2p.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_table.c net: ipa: fix u32_replace_bits by u32p_xxx version 2020-09-11 17:28:48 -07:00
ipa_table.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_uc.c net: ipa: fix two comments 2020-09-28 18:34:56 -07:00
ipa_uc.h
ipa_version.h
ipa.h net: ipa: repurpose CLOCK_HELD flag 2020-09-18 17:47:07 -07:00
Kconfig
Makefile