uot;)
Signed-off-by: Roja Rani Yarubandi
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
functions.
Add two helper functions geni_i2c_rx_msg_cleanup and
geni_i2c_tx_msg_cleanup to unwrap the things after rx/tx FIFO/DMA
transfers, so that the same can be used in geni_i2c_stop_xfer()
function during shutdown callback.
Signed-off-by: Roja Rani Yarubandi
Reviewed-by: Akash Asthana
--
The
uot;)
Signed-off-by: Roja Rani Yarubandi
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
Hi Roja,
On 12/3/2020 4:01 PM, Roja Rani Yarubandi wrote:
Store DMA mapping data in geni_i2c_dev struct to enhance DMA mapping
data scope. For example during shutdown callback to unmap DMA mapping,
this stored DMA mapping data can be used to call geni_se_tx_dma_unprep
and geni_se_rx_dma_unprep f
Hi Greg,
On 12/7/2020 3:13 PM, Greg KH wrote:
On Mon, Dec 07, 2020 at 02:17:27PM +0530, Akash Asthana wrote:
Separate out earlycon support from serial driver and remove it's
dependency on QUP wrapper driver.
This enable us to manage earlycon independently and we can re-use the
same ear
Hi Greg,
On 12/7/2020 2:41 PM, Greg KH wrote:
On Mon, Dec 07, 2020 at 02:17:27PM +0530, Akash Asthana wrote:
Separate out earlycon support from serial driver and remove it's
dependency on QUP wrapper driver.
This enable us to manage earlycon independently and we can re-use the
same ear
Separate out earlycon support from serial driver and remove it's
dependency on QUP wrapper driver.
This enable us to manage earlycon independently and we can re-use the
same earlycon driver for android project which currently uses
downstream version of QUP drivers.
Signed-off-by: Akash As
until real
console is probed.
Signed-off-by: Akash Asthana
---
drivers/soc/qcom/qcom-geni-se.c | 74 ---
drivers/tty/serial/qcom_geni_serial.c | 7
include/linux/qcom-geni-se.h | 2 -
3 files changed, 83 deletions(-)
diff --git a/drivers/soc/qcom
will ensure that the default bootloader votes are not removed until
all it's consumer are probed.
We can safely remove ICC path for QUP-CORE clock from QUP wrapper
device.
Signed-off-by: Akash Asthana
---
arch/arm64/boot/dts/qcom/sc7180.dtsi | 4
1 file changed, 4 deletions(-)
diff --
Patch 3/3 depends on patch 1/3, Greg would it be possible to
ack patch 3/3. So it could land via QCOM tree.
Akash Asthana (3):
soc: qcom-geni-se: Cleanup the code to remove proxy votes
arm64: dts: qcom: sc7180: Remove QUP-CORE ICC path
Serial: Separate out earlycon support
arch/arm64/boot
the Lenovo Yoga C630")'.
Signed-off-by: Bjorn Andersson
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
On 11/12/2020 9:52 PM, Caleb Connolly wrote:
The OnePlus 6/T has the same issue as the Yoga c630 causing a crash when DMA
is used for i2c, so disable it.
https://patchwork.kernel.org/patch/11133827/
Signed-off-by: Caleb Connolly
Reviewed-by : Akash Asthana
--
The Qualcomm Innovation
k.kernel.org/project/linux-arm-msm/patch/1592908737-7068-3-git-send-email-akash...@codeaurora.org/
[1]
Tested-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
d. Decreasing the
amount of times we read/write memory mapped registers is also nice,
even if we are using "relaxed" variants.
Signed-off-by: Douglas Anderson
Reviewed-by: Akash Asthana
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
Hi Stephen,
static void geni_se_select_dma_mode(struct geni_se *se)
{
+ u32 proto = geni_se_read_proto(se);
u32 val;
geni_se_irq_clear(se);
+ val = readl_relaxed(se->base + SE_GENI_M_IRQ_EN);
+ if (proto != GENI_SE_UART) {
Not a problem with th
oc: qcom: geni: More properly switch
to DMA mode") is a prerequisite for this one.
Fixes: 02b9aec59243 ("i2c: i2c-qcom-geni: Fix DMA transfer race")
Signed-off-by: Douglas Anderson
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code
o be prepared
now that we can't rely on geni_se_setup_m_cmd()'s writel().
NOTE: the only current user of GENI_SE_DMA in mainline is i2c.
Fixes: 37692de5d523 ("i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C
controller")
Fixes: 02b9aec59243 ("i2c: i2c-
On 10/7/2020 11:19 PM, Caleb Connolly wrote:
The OnePlus 6/T has the same issues as the c630 causing a crash when DMA
is used for i2c, so disable it.
https://patchwork.kernel.org/patch/11133827
Reviewed-by: Akash Asthana
Signed-off-by: Caleb Connolly
---
drivers/i2c/busses/i2c-qcom
com_geni_serial: Update the oversampling
rate")
Signed-off-by: Paras Sharma
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
oard where the SPI parts don't
run in GSI mode and we do a lot of SPI traffic.
Signed-off-by: Douglas Anderson
Reviewed-by: Stephen Boyd
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
m 32357 down to 30611 (about
a 5% reduction).
Signed-off-by: Douglas Anderson
Reviewed-by: Stephen Boyd
---
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
Hi Paras,
On 9/14/2020 12:49 PM, Paras Sharma wrote:
The current implementation reduces the sampling rate by half
if qup HW version is greater is than 2.5 by checking if the
geni SE major version is greater than 2 and geni SE minor version
is greater than 5.This implementation fails when the ve
le CS line btw each words. We never came across any
usecase/slave who needs this.
Reviewed-by: Akash Asthana
Signed-off-by: Douglas Anderson
---
drivers/spi/spi-geni-qcom.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/spi/spi-geni-qcom.c b/driver
-r /tmp/foo.bin" on a
Chromebook and averaged over several runs.
Before: It took 6.66 seconds and 59669 interrupts fired.
After: It took 6.66 seconds and 47992 interrupts fired.
Reviewed-by: Akash Asthana
Signed-off-by: Douglas Anderson
---
--
The Qualcomm Innovation Center, Inc. is
The only actual change to
geni_spi_handle_tx() was to make it return a bool indicating if there
is more to tx.
Reviewed-by: Akash Asthana
Signed-off-by: Douglas Anderson
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
people that I'm aware of that tried
to enable serial console by just adding "console=ttyMSM0" (instead of
"console=ttyMSM0,115200n8") to the command line, so it seems like it'd
be nice to fix.
Let's switch the default to 115200.
Reviewed-by: Akash Asthana
Signed
Hi Roja,
On 8/20/2020 4:05 PM, Roja Rani Yarubandi wrote:
If the hardware is still accessing memory after SMMU translation
is disabled (as part of smmu shutdown callback), then the
IOVAs (I/O virtual address) which it was using will go on the bus
as the physical addresses which will result in un
Hi Roja,
On 8/20/2020 4:05 PM, Roja Rani Yarubandi wrote:
Store DMA mapping data in geni_i2c_dev struct to enhance DMA mapping
data scope. For example during shutdown callback to unmap DMA mapping,
this stored DMA mapping data can be used to call geni_se_tx_dma_unprep
and geni_se_rx_dma_unprep f
On 8/11/2020 2:56 AM, Doug Anderson wrote:
Hi,
On Mon, Aug 10, 2020 at 5:32 AM Akash Asthana wrote:
Hi Doug,
On 8/7/2020 10:49 AM, Douglas Anderson wrote:
The commit e42d6c3ec0c7 ("serial: qcom_geni_serial: Make kgdb work
even if UART isn't console") worked pretty well and
Hi Doug,
On 8/7/2020 10:49 AM, Douglas Anderson wrote:
The commit e42d6c3ec0c7 ("serial: qcom_geni_serial: Make kgdb work
even if UART isn't console") worked pretty well and I've been doing a
lot of debugging with it. However, recently I typed "dmesg" in kdb
and then held the space key down to
. Included if check for non-suspend case to keep RFR low
during suspend.
Reviewed-by: Akash Asthana
Signed-off-by: satya priya
---
Changes in V2:
- This patch fixes the UART flow control issue during suspend.
Newly added in V2.
drivers/tty/serial/qcom_geni_serial.c | 2 +-
1 file changed, 1
On 7/24/2020 9:28 AM, satya priya wrote:
Add sleep pin ctrl for BT uart, and also change the bias
configuration to match Bluetooth module.
Reviewed-by: Akash Asthana
Signed-off-by: satya priya
---
Changes in V2:
- This patch adds sleep state for BT UART. Newly added in V2.
arch
On 7/24/2020 9:28 AM, satya priya wrote:
Add the necessary pinctrl and interrupts to make UART
wakeup capable.
Reviewed-by: Akash Asthana
Signed-off-by: satya priya
---
Changes in V2:
- As per Matthias's comment added wakeup support for all the UARTs
of SC7180.
arch/arm64
I2C
controller")
Signed-off-by: Douglas Anderson
Tested-by: Sai Prakash Ranjan
Reviewed-by: Akash Asthana
Applied to for-current, thanks!
Glad we got this sorted. I just wondered that Alok wasn't part of the
discussion. Is he still interested in maintaining the driver? Also
because ther
Alok Chauhan has moved out of GENI team, he no longer supports GENI I2C
driver, remove him from maintainer list.
Add Akash Asthana & Mukesh Savaliya as maintainers for GENI I2C drivers.
Signed-off-by: Akash Asthana
---
MAINTAINERS | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
On 7/27/2020 1:25 PM, Akash Asthana wrote:
On 11/4/2019 2:52 AM, Colin King wrote:
From: Colin Ian King
There is a spelling mistake in an error message string, fix it.
Signed-off-by: Colin Ian King
---
drivers/i2c/busses/i2c-qcom-geni.c | 2 +-
1 file changed, 1 insertion(+), 1
ot;Bus proto err, noisy/unexpected start/stop"},
[ARB_LOST] = {-EAGAIN, "Bus arbitration lost, clock line undriveable"},
[GP_IRQ5] = {-EIO, "Unknown I2C err GP IRQ5"},
[GENI_OVERRUN] = {-EIO, "Cmd overrun, check GENI cmd-state machine"},
The patch
uot;flashrom -p ec" on a Chromebook which stresses
GENI SPI a lot.
Suggested-by: Stephen Boyd
Signed-off-by: Douglas Anderson
---
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
ne.
Fixes: 37692de5d523 ("i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C
controller")
Signed-off-by: Douglas Anderson
---
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
issue.
We were hitting this issue when one of QUP is disabled.
Fixes: 048eb908a1f2 ("soc: qcom-geni-se: Add interconnect support to fix
earlycon crash")
Reported-by: Sai Prakash Ranjan
Reviewed-by: Matthias Kaehlcke
Signed-off-by: Akash Asthana
---
Changes in V2:
- Change variable nam
Hi Matthias,
On 7/17/2020 8:18 PM, Matthias Kaehlcke wrote:
Please make sure to cc the linux-arm-msm@vger list for patches of
Qualcomm code.
Sure.
On Fri, Jul 17, 2020 at 08:02:22PM +0530, Akash Asthana wrote:
pdev struct doesn't exits for the devices whose status are disabled
s/exits/
issue.
We were hitting this issue when one of QUP is disabled.
Fixes: 048eb908a1f2 ("soc: qcom-geni-se: Add interconnect support to fix
earlycon crash")
Reported-by: Sai Prakash Ranjan
Signed-off-by: Akash Asthana
---
drivers/soc/qcom/qcom-geni-se.c | 8 +++-
1 file changed, 7
7; from 'int'
Fixes: 048eb908a1f2 ("soc: qcom-geni-se: Add interconnect support to fix
earlycon crash")
Reported-by: kernel test robot
Signed-off-by: Akash Asthana
---
include/linux/of.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/inclu
or from runtime resume if dev_pm_opp_set_rate() fails.
Douglas Anderson (2):
spi: spi-qcom-qspi: Avoid clock setting if not needed
spi: spi-qcom-qspi: Set an autosuspend delay of 250 ms
drivers/spi/spi-qcom-qspi.c | 43 -
1 file changed, 33 insertions(+), 10 deletio
configurations, this doesn't
actually matter. That's because none of the current device trees have
an OPP table for geni SPI yet. That makes dev_pm_opp_set_rate(dev, 0)
a no-op. This is why it wasn't noticed in the testing of the original
patch. It's still a good idea to fix,
certainly don't need when
the system is in suspend. So in the suspend handler mark them as
ACTIVE_ONLY (0x3) and on resume switch them back to the ALWAYS tag (0x7)
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Found
Hi Doug,
@@ -670,7 +674,13 @@ static int __maybe_unused spi_geni_runtime_resume(struct device *dev)
if (ret)
return ret;
- return geni_se_resources_on(&mas->se);
+ ret = geni_se_resources_on(&mas->se);
+ if (ret)
+ return ret;
+
+ de
mas->last_mode = spi_slv->mode;
+ }
return geni_spi_set_clock_and_bw(mas, spi_slv->max_speed_hz);
}
Yeah looks good to me, the default/reset value of these registers are 0
we don't have to preserve any bits here.
We can directly update the register with required value.
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
hange this.
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na
Linux Foundation Collaborative Project
apply_constraints()
qcom_icc_set()
qcom_icc_bcm_voter_commit()
rpmh_invalidate()
rpmh_write_batch()
...and those rpmh commands can be a bit beefy if you call them too
often.
Reviewed-by: Akash Asthana
--
The Qualcomm Innovation Center, Inc. is a member of t
error string
if we fail to set the clock. Since the two paths has marginally
different error messages I picked the clean one.
Signed-off-by: Douglas Anderson
Signed-off-by: Akash Asthana
---
This patch is introduced in V8 of the series.
drivers/spi/spi-geni-qcom.c | 70
Get the interconnect paths for QSPI device and vote according to the
current bus speed of the driver.
Signed-off-by: Akash Asthana
Reviewed-by: Matthias Kaehlcke
---
Changes in V2:
- As per Bjorn's comment, introduced and using devm_of_icc_get API for getting
path handle
- As per Mat
Add interconnect ports for GENI QUPs and QSPI to set bus capabilities.
Signed-off-by: Akash Asthana
---
Changes in V2:
- As per Bjorn's comment, ignoring 80 char limit in defining interconnects
paths.
Changes in V3:
- No change.
Change in V4:
- No change.
Changes in V5:
- No c
Get the interconnect paths for I2C based Serial Engine device
and vote according to the bus speed of the driver.
Signed-off-by: Akash Asthana
Reviewed-by: Matthias Kaehlcke
Acked-by: Wolfram Sang
---
Changes in V2:
- As per Bjorn's comment, removed se == NULL check from geni_i2c_icc_get
Add ICC voting per transfer because in case of multi message,
transfer frequency can vary for each message/transfer.[PATCH V8 6/8]
Akash Asthana (7):
soc: qcom: geni: Support for ICC voting
soc: qcom-geni-se: Add interconnect support to fix earlycon crash
i2c: i2c-qcom-geni: Add
is add ICC
support to common/QUP wrapper driver and put vote for QUP core from
probe on behalf of earlycon and remove vote during earlycon exit call.
Signed-off-by: Akash Asthana
Reported-by: Matthias Kaehlcke
Reviewed-by: Matthias Kaehlcke
---
Change in V3:
- Add geni_remove_earlycon_icc_vote API
Add necessary macros and structure variables to support ICC BW
voting from individual SE drivers.
Signed-off-by: Akash Asthana
Reviewed-by: Matthias Kaehlcke
---
Changes in V2:
- As per Bjorn's comment dropped enums for ICC paths, given the three
paths individual members
Changes
Get the interconnect paths for Uart based Serial Engine device
and vote according to the baud rate requirement of the driver.
Signed-off-by: Akash Asthana
Reviewed-by: Matthias Kaehlcke
Acked-by: Greg Kroah-Hartman
---
Changes in V2:
- As per Bjorn's comment, removed se == NULL check
Get the interconnect paths for SPI based Serial Engine device
and vote according to the current bus speed of the driver.
Signed-off-by: Akash Asthana
---
Changes in V2:
- As per Bjorn's comment, removed se == NULL check from geni_spi_icc_get
- As per Bjorn's comment, removed code
From: Mukesh Kumar Savaliya
This change enables earlyconsole support as static driver for geni
based UART. Kernel space UART console driver will be generic for
console and other usecases of UART.
Signed-off-by: Mukesh Kumar Savaliya
Signed-off-by: Akash Asthana
---
Changes In V2:
- Fixed
Convert QUP geni-se bindings to DT schema format using json-schema.
Signed-off-by: Akash Asthana
Reviewed-by: Rob Herring
Reviewed-by: Stephen Boyd
---
Changes in V2:
- As per Stephen's comment corrected defintion of interrupts for UART node.
Any valid UART node must contain atle
Add documentation to support RX-TX & CTS-RTS GPIO pin swap in HW.
Signed-off-by: Akash Asthana
Reviewed-by: Stephen Boyd
---
Changes in V7:
- As per Rob's comment, added type: boolean to properties.
Documentation/devicetree/bindings/serial/serial.yaml | 8
1 file c
Add documentation for the interconnect and interconnect-names properties
for the GENI QUP.
Signed-off-by: Akash Asthana
Reviewed-by: Stephen Boyd
---
Changes in V5:
- Add interconnect property for QUP wrapper (parent node).
- Add minItems = 2 for interconnect property in child nodes
Changes
Changes in V6:
- As per Rob's suggestion moved pin swap documentation from QUP to
serial.yaml file[PATCH V6 3/3].
Changes in V4:
- Add interconnect binding patch.
- Add UART pin swap binding patch.
Akash Asthana (3):
dt-bindings: geni-se: Convert QUP geni-se bindings to YAML
Hi Rob,
On 5/15/2020 8:31 AM, Rob Herring wrote:
On Thu, May 07, 2020 at 08:30:47PM +0530, Akash Asthana wrote:
Add documentation to support RX-TX & CTS-RTS GPIO pin swap in HW.
Signed-off-by: Akash Asthana
---
Documentation/devicetree/bindings/serial/serial.yaml | 6 ++
1
Hi Stephen,
On 5/14/2020 7:33 AM, Stephen Boyd wrote:
Quoting Akash Asthana (2020-05-07 08:00:44)
Changes in V6:
- As per Rob's suggestion moved pin swap documentation from QUP to
serial.yaml file[PATCH V6 3/3].
Changes in V4:
- Add interconnect binding patch.
- Add UART pin
Add documentation for the interconnect and interconnect-names properties
for the GENI QUP.
Signed-off-by: Akash Asthana
---
Changes in V5:
- Add interconnect property for QUP wrapper (parent node).
- Add minItems = 2 for interconnect property in child nodes
Changes in V6:
- As per Rob
Add documentation to support RX-TX & CTS-RTS GPIO pin swap in HW.
Signed-off-by: Akash Asthana
---
Documentation/devicetree/bindings/serial/serial.yaml | 6 ++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/serial/serial.yaml
b/Documentation/device
Convert QUP geni-se bindings to DT schema format using json-schema.
Signed-off-by: Akash Asthana
Reviewed-by: Rob Herring
Reviewed-by: Stephen Boyd
---
Changes in V2:
- As per Stephen's comment corrected defintion of interrupts for UART node.
Any valid UART node must contain atle
Hi Rob,
+ interconnects:
+ minItems: 2
+ maxItems: 3
+
+ interconnect-names:
+ items:
+ - const: qup-core
+ - const: qup-config
+ - const: qup-memory
Don't you need 'minItems: 2' here?
Yeah I need minItems: 2 here, thanks for
Changes in V6:
- As per Rob's suggestion moved pin swap documentation from QUP to
serial.yaml file[PATCH V6 3/3].
Changes in V4:
- Add interconnect binding patch.
- Add UART pin swap binding patch.
Akash Asthana (3):
dt-bindings: geni-se: Convert QUP geni-se bindings to YAML
Hi Georgi,
On 4/28/2020 2:46 PM, Georgi Djakov wrote:
There is a repeated pattern in multiple drivers where they want to switch
the bandwidth between zero and some other value. This is happening often
in the suspend/resume callbacks. Let's add helper functions to enable and
disable the path, so
Hi Matthias
Thanks for notifying, I will make the changes.
Regards,
Akash
On 4/25/2020 2:27 AM, Matthias Kaehlcke wrote:
Hi Akash,
On Tue, Mar 24, 2020 at 10:46:40AM +0530, Akash Asthana wrote:
Hi Rob,
On 3/20/2020 11:37 PM, Rob Herring wrote:
On Fri, Mar 13, 2020 at 4:29 AM Akash
73 matches
Mail list logo