From: Mukesh Savaliya <mukesh.savaliya@oss.qualcomm.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
Pengyu Luo <mitltlatltl@gmail.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
Mark Brown <broonie@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Andy Gross <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] spi: qcom-geni: Add property to force GSI mode
Date: Thu, 2 Jul 2026 22:34:49 +0530 [thread overview]
Message-ID: <94956a19-153f-4bce-a824-7608bbffc98a@oss.qualcomm.com> (raw)
In-Reply-To: <6fbc4521-15d3-40c7-89b3-ee15ad673ff8@oss.qualcomm.com>
Hi Konrad,
On 7/2/2026 6:14 PM, Konrad Dybcio wrote:
> On 7/2/26 2:39 PM, Konrad Dybcio wrote:
>> On 6/30/26 12:06 PM, Pengyu Luo wrote:
>>> On Tue, Jun 30, 2026 at 5:52 PM Mukesh Savaliya
>>> <mukesh.savaliya@oss.qualcomm.com> wrote:
>>>>
>>>>
>>>>
>>>> On 6/29/2026 1:33 PM, Pengyu Luo wrote:
>>>>> On Mon, Jun 29, 2026 at 1:36 PM Mukesh Savaliya
>>>>> <mukesh.savaliya@oss.qualcomm.com> wrote:
>>>>>>
>>>>>> Hi Pengyu,
>>>>>>
>>>>>> On 6/15/2026 2:48 AM, Dmitry Baryshkov wrote:
>>>>>>> On Sun, Jun 14, 2026 at 04:34:24PM +0800, Pengyu Luo wrote:
>>>>>>>> Some devices (such as gaokun3) do not disable FIFO mode, causing the
>>>>>>>> driver to fallback to FIFO mode by default. However, these platforms
>>>>>>>> also support GSI mode, which is highly preferred for certain
>>>>>>>> peripherals like SPI touchscreens to improve performance.
>>>>>>>>
>>>>>>>> Introduce the "qcom,force-gsi-mode" device property to hint and force
>>>>>>>> the controller into GSI mode during initialization.
>>>>>> Why to force ? You can directly configure in GSI mode. Note there are
>>>>>> some configuration done prior to Linux bootup too.
>>>>>
>>>>> Sorry, I don't get it. how? I know there may be a qupfw, but it is
>>>>> impossible for a normal user like me to generate one with GSI
>>>>> preferred.
>>>>>
>>>> If firmware doesn't program in GSI, you can't have this working in GSI
>>>> mode, its going to fail (and work with fallback). if it's programmed in
>>>> GSI, anyway this will run in GSI mode. So why to add extra things
>>>> without any usage ?
>>>>
>>>
>>> What I can confirm is that fifo is not disabled on my device, and gsi
>>> is definitely enabled (under windows, check the register
>>> SE_GENI_DMA_MODE_EN), forcing the device to enable GSI mode on linux
>>> works well.
It may work, but it may fail too. We rather want to decide FIFO/DMA vs
GSI based on fifo_disabled variable.
>>
>> What's the value of se->base + SE_DMA_IF_EN (+0x2004) on this SE?
>
> I'm sorry, I read the first sentence only..
>
> I think the enabling of DMA and the disabling of FIFO are technically
> disjoint operations, but shouldn't be. The programming guide mentions that
> FIFO_DISABLE=1 is set to prevent malicious software from snooping the data
> from the RX FIFO while the SE is operated through the GSI.
>
> Mukesh, would it make sense to make to rework the checks this way:
>
No, below actually completely makes things wrong.
Overall it's between GSI vs non GSI [i.e. FIFO/DMA]
fifo_disabled = 1 = GSI [Neither go for FIFO nor for DMA]
fifo_disabled = 0 = non GSI [Then Driver checks data transfer size, if
<64 prefer FIFO else go for CPU DMA mode]
dma_enabled = 1 [fifo_disabled = 0] = FIFO OR DMA [Driver checks data
size, if <64 prefer FIFO else go for CPU DMA mode]
let me know if there is still a confusion, we can discuss.
> if (dma_enabled)
> prefer GSI, try SE DMA otherwise
> else if (fifo_disabled)
> return error, misconfigured SE
> else
> fifo mode
>
> ?
>
> Konrad
next prev parent reply other threads:[~2026-07-02 17:04 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-14 8:34 [PATCH 1/2] spi: dt-bindings: qcom,spi-geni-qcom: Add property to force GSI mode Pengyu Luo
2026-06-14 8:34 ` [PATCH 2/2] spi: qcom-geni: " Pengyu Luo
2026-06-14 8:48 ` sashiko-bot
2026-06-14 21:18 ` Dmitry Baryshkov
2026-06-15 4:25 ` Pengyu Luo
2026-06-15 11:42 ` Konrad Dybcio
2026-06-25 9:06 ` Mukesh Savaliya
2026-06-26 15:34 ` Konrad Dybcio
2026-06-27 5:22 ` Pengyu Luo
2026-06-29 5:36 ` Mukesh Savaliya
2026-06-15 12:23 ` Dmitry Baryshkov
2026-06-29 5:35 ` Mukesh Savaliya
2026-06-29 8:03 ` Pengyu Luo
2026-06-30 9:52 ` Mukesh Savaliya
2026-06-30 10:06 ` Pengyu Luo
2026-06-30 12:28 ` Mukesh Savaliya
2026-06-30 12:39 ` Pengyu Luo
2026-07-02 12:39 ` Konrad Dybcio
2026-07-02 12:44 ` Konrad Dybcio
2026-07-02 17:04 ` Mukesh Savaliya [this message]
2026-06-30 14:46 ` Konrad Dybcio
2026-06-30 12:29 ` Mukesh Savaliya
2026-06-14 10:40 ` [PATCH 1/2] spi: dt-bindings: qcom,spi-geni-qcom: " sashiko-bot
2026-06-14 10:55 ` Mark Brown
2026-06-15 5:22 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=94956a19-153f-4bce-a824-7608bbffc98a@oss.qualcomm.com \
--to=mukesh.savaliya@oss.qualcomm.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=mitltlatltl@gmail.com \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox