linux/drivers/net/ipa
Alex Elder 6a606b9015 net: ipa: allocate transaction in replenish loop
When replenishing, have ipa_endpoint_replenish() allocate a
transaction, and pass that to ipa_endpoint_replenish_one() to fill.
Then, if that produces no error, commit the transaction within the
replenish loop as well.  In this way we can distinguish between
transaction failures and buffer allocation/mapping failures.

Failure to allocate a transaction simply means the hardware already
has as many receive buffers as it can hold.  In that case we can
break out of the replenish loop because there's nothing more to do.

If we fail to allocate or map pages for the receive buffer, just
try again later.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-02-04 10:16:08 +00:00
..
gsi_private.h net: ipa: DMA addresses are nicely aligned 2021-03-28 18:12:03 -07:00
gsi_reg.h net: ipa: support enhanced channel flow control 2021-11-25 20:04:52 -08:00
gsi_trans.c net: ipa: use WARN_ON() rather than assertions 2021-07-26 22:38:11 +01:00
gsi_trans.h net: ipa: fix all kernel-doc warnings 2021-03-28 18:12:03 -07:00
gsi.c net: ipa: support enhanced channel flow control 2021-11-25 20:04:52 -08:00
gsi.h net: ipa: support enhanced channel flow control 2021-11-25 20:04:52 -08:00
ipa_cmd.c net: ipa: kill ipa_cmd_pipeline_clear() 2021-11-23 12:26:40 +00:00
ipa_cmd.h net: ipa: kill ipa_cmd_pipeline_clear() 2021-11-23 12:26:40 +00:00
ipa_data-v3.1.c net: ipa: define per-endpoint receive buffer size 2022-02-02 21:13:45 -08:00
ipa_data-v3.5.1.c net: ipa: define per-endpoint receive buffer size 2022-02-02 21:13:45 -08:00
ipa_data-v4.2.c net: ipa: define per-endpoint receive buffer size 2022-02-02 21:13:45 -08:00
ipa_data-v4.5.c net: ipa: define per-endpoint receive buffer size 2022-02-02 21:13:45 -08:00
ipa_data-v4.9.c net: ipa: define per-endpoint receive buffer size 2022-02-02 21:13:45 -08:00
ipa_data-v4.11.c net: ipa: set IPA v4.11 AP<-modem RX buffer size to 32KB 2022-02-02 21:13:45 -08:00
ipa_data.h net: ipa: define per-endpoint receive buffer size 2022-02-02 21:13:45 -08:00
ipa_endpoint.c net: ipa: allocate transaction in replenish loop 2022-02-04 10:16:08 +00:00
ipa_endpoint.h net: ipa: kill replenish_saved 2022-02-04 10:16:07 +00: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: use autosuspend 2021-08-22 09:44:17 +01:00
ipa_interrupt.h net: ipa: set up IPA interrupts earlier 2021-07-26 23:09:18 +01:00
ipa_main.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-11-26 13:45:19 -08:00
ipa_mem.c net: ipa: Use 'for_each_clear_bit' when possible 2021-11-19 11:19:11 +00:00
ipa_mem.h net: ipa: don't index mem data array by ID 2021-06-10 14:50:08 -07:00
ipa_modem.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-11-26 13:45:19 -08:00
ipa_modem.h net: ipa: kill ipa_modem_init() 2021-11-25 19:37:33 -08:00
ipa_power.c net: ipa: request IPA register values be retained 2022-02-03 08:03:43 -08:00
ipa_power.h net: ipa: request IPA register values be retained 2022-02-03 08:03:43 -08:00
ipa_qmi_msg.c net: ipa: extend the INDICATION_REGISTER request 2021-03-16 11:17:59 -07:00
ipa_qmi_msg.h net: ipa: extend the INDICATION_REGISTER request 2021-03-16 11:17:59 -07:00
ipa_qmi.c net: ipa: kill ipa_modem_setup() 2021-07-26 23:09:18 +01:00
ipa_qmi.h net: ipa: kill ipa_modem_setup() 2021-07-26 23:09:18 +01:00
ipa_reg.c
ipa_reg.h net: ipa: use WARN_ON() rather than assertions 2021-07-26 22:38:11 +01:00
ipa_resource.c net/ipa: ipa_resource: Fix wrong for loop range 2021-11-12 19:59:45 -08:00
ipa_resource.h net: ipa: get rid of empty IPA functions 2021-04-09 20:57:25 -07:00
ipa_smp2p.c net: ipa: separate disabling setup from modem stop 2021-11-23 12:06:40 +00:00
ipa_smp2p.h net: ipa: separate disabling setup from modem stop 2021-11-23 12:06:40 +00:00
ipa_sysfs.c net: ipa: introduce sysfs code 2021-06-11 14:13:18 -07:00
ipa_sysfs.h net: ipa: introduce sysfs code 2021-06-11 14:13:18 -07:00
ipa_table.c net: ipa: zero unused portions of filter table memory 2021-11-25 19:37:33 -08:00
ipa_table.h net: ipa: always validate filter and route tables 2021-07-26 22:38:11 +01:00
ipa_uc.c net: ipa: request IPA register values be retained 2022-02-03 08:03:43 -08:00
ipa_uc.h net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_version.h net: ipa: introduce sysfs code 2021-06-11 14:13:18 -07:00
ipa.h net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
Kconfig qcom_scm: hide Kconfig symbol 2021-10-07 16:51:57 +02:00
Makefile net: ipa: rename "ipa_clock.c" 2021-08-22 09:44:17 +01:00