devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Depeng Shao <quic_depengs@quicinc.com>
To: Bryan O'Donoghue <bryan.odonoghue@linaro.org>, <rfoss@kernel.org>,
	<todor.too@gmail.com>, <mchehab@kernel.org>, <robh@kernel.org>,
	<krzk+dt@kernel.org>, <conor+dt@kernel.org>
Cc: <linux-arm-msm@vger.kernel.org>, <linux-media@vger.kernel.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<kernel@quicinc.com>, Yongsheng Li <quic_yon@quicinc.com>
Subject: Re: [PATCH 13/13] media: qcom: camss: Add support for VFE hardware version Titan 780
Date: Mon, 30 Sep 2024 13:37:43 +0800	[thread overview]
Message-ID: <f31c2b15-d1ae-41fa-952b-eab806b0e15d@quicinc.com> (raw)
In-Reply-To: <6b702201-4418-4bbe-95b2-50039c08b4d8@linaro.org>

Hi Bryan,

On 9/30/2024 7:57 AM, Bryan O'Donoghue wrote:
> On 29/09/2024 02:28, Depeng Shao wrote:
>>>>
>>>
>>> Thanks for catching this, I forget to add the rup irq, so this logic 
>>> is also missed. I have tried it just now, the logic works good, will 
>>> add it in next version patch.
>>>
>>
>> I go through the code again, and find we don't do the wait for 
>> completion in VFE 480 driver, this is just used in VFE gen1 driver and 
>> just during disabling port.
> 
> Right but, we _should_ wait for completion there, the fact we don't is a 
> bug.
> 
> One context issues a command to take an action and another context in 
> this case an ISR has to fire for that action to be complete.
> 
> Therefore we _should_ wait_for_completion() in the initiating context 
> and timeout if it exceeds a reasonable timeout.
> 
> Granted, we've "dropped the ball" in 480 you're right, it needs to be 
> fixed and will be but, please in your submission do the right thing.
> 

Qualcomm downstream camera driver use the rup to move the req to a list 
to maintenance a state machine. If we don't get rup then we will enter 
bubble state.
But we are downplaying this process now due to AUP, and the bubble 
processing has been disabled in latest code base, since we think the 
buffer must be filled to the given address if we have configured the AUP 
and got buf done irq.


And this per frame wait_for_completion flow isn't exist in whole camss 
code, and current camss driver just use buf done irq to trigger the per 
frame flow.

E.g.,
irqreturn_t vfe_irq()
{
	if (rup_irq)
		reg_update_clear();

	if (buf_done_irq) {
		vfe_wm_update();
		reg_update();    --> We can't do wait_for_completion at here in irq 
context
		vb2_buffer_done();
	}
}

Just VFE gen1 driver use this wait_for_complete in vfe_disable_output, 
and this flow has been removed in vfe gen2(camss-vfe.c), so looks like
we don't need to add this wait_for_completion support and also can 
remove below code in camss-vfe-480.c

vfe_isr_reg_update()
{
	if (output->wait_reg_update) {
		output->wait_reg_update = 0;
		complete(&output->reg_update);
	}
}

Thanks,
Depeng


  reply	other threads:[~2024-09-30  5:38 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-12 14:41 [PATCH v4 00/13] media: qcom: camss: Add sm8550 support Depeng Shao
2024-08-12 14:41 ` [PATCH 01/13] media: qcom: camss: csiphy-3ph: Fix trivial indentation fault in defines Depeng Shao
2024-08-12 14:41 ` [PATCH 02/13] media: qcom: camss: csiphy-3ph: Remove redundant PHY init sequence control loop Depeng Shao
2024-08-12 14:41 ` [PATCH 03/13] media: qcom: camss: csiphy-3ph: Rename struct Depeng Shao
2024-08-12 14:41 ` [PATCH 04/13] media: qcom: camss: csiphy: Add an init callback to CSI PHY devices Depeng Shao
2024-08-19  0:17   ` Vladimir Zapolskiy
2024-09-04 14:20     ` Depeng Shao
2024-09-04 14:51       ` Bryan O'Donoghue
2024-08-12 14:41 ` [PATCH 05/13] media: qcom: camss: csiphy-3ph: Move CSIPHY variables to data field inside csiphy struct Depeng Shao
2024-08-19  0:01   ` Vladimir Zapolskiy
2024-08-28 14:11     ` Depeng Shao
2024-08-12 14:41 ` [PATCH 06/13] media: qcom: camss: csiphy-3ph: Use an offset variable to find common control regs Depeng Shao
2024-08-18 23:59   ` Vladimir Zapolskiy
2024-08-12 14:41 ` [PATCH 07/13] dt-bindings: media: camss: Add qcom,sm8550-camss binding Depeng Shao
2024-08-16  7:01   ` Krzysztof Kozlowski
2024-08-16  7:45     ` Depeng Shao
2024-09-30  7:17       ` Krzysztof Kozlowski
2024-09-05 15:20   ` Vladimir Zapolskiy
2024-09-05 15:54     ` Depeng Shao
2024-09-06 15:56   ` Vladimir Zapolskiy
2024-09-25 15:13     ` Depeng Shao
2024-09-30  7:16       ` Krzysztof Kozlowski
2024-09-30  8:46         ` Vladimir Zapolskiy
2024-09-30  8:55           ` Bryan O'Donoghue
2024-09-30  9:15             ` Vladimir Zapolskiy
2024-09-30  7:26       ` Krzysztof Kozlowski
2024-09-30  8:32         ` Vladimir Zapolskiy
2024-09-30  9:03         ` Bryan O'Donoghue
2024-09-12  8:22   ` Vladimir Zapolskiy
2024-09-12 11:41     ` Bryan O'Donoghue
2024-09-12 12:44       ` Vladimir Zapolskiy
2024-09-12 15:11         ` Bryan O'Donoghue
2024-09-12 20:57           ` Vladimir Zapolskiy
2024-09-12 22:41             ` Bryan O'Donoghue
2024-09-13  5:06               ` Vladimir Zapolskiy
2024-09-17 22:40                 ` Bryan O'Donoghue
2024-09-17 23:16                   ` Vladimir Zapolskiy
2024-09-25 15:40                     ` Depeng Shao
2024-09-30  9:26                       ` Depeng Shao
2024-10-08 13:50                         ` Vladimir Zapolskiy
2024-10-08 14:06                           ` Bryan O'Donoghue
2024-10-08 15:47                             ` Depeng Shao
2024-09-30 10:21                       ` Bryan O'Donoghue
2024-09-13  4:17           ` Dmitry Baryshkov
2024-09-12 13:48       ` Neil Armstrong
2024-08-12 14:41 ` [PATCH 08/13] media: qcom: camss: csid: Move common code into csid core Depeng Shao
2024-08-14 23:53   ` Bryan O'Donoghue
2024-08-24 12:50     ` Vladimir Zapolskiy
2024-08-12 14:41 ` [PATCH 09/13] media: qcom: camss: vfe: Move common code into vfe core Depeng Shao
2024-08-15  0:09   ` Bryan O'Donoghue
2024-08-16 13:07     ` Depeng Shao
2024-08-24 13:06     ` Vladimir Zapolskiy
2024-08-28  0:07       ` Bryan O'Donoghue
2024-09-02 13:11       ` Depeng Shao
2024-08-12 14:41 ` [PATCH 10/13] media: qcom: camss: Add sm8550 compatible Depeng Shao
2024-08-13 12:57   ` Bryan O'Donoghue
2024-08-12 14:41 ` [PATCH 11/13] media: qcom: camss: csiphy-3ph: Add Gen2 v2.1.2 two-phase MIPI CSI-2 DPHY support Depeng Shao
2024-08-12 14:41 ` [PATCH 12/13] media: qcom: camss: Add CSID Gen3 support for sm8550 Depeng Shao
2024-08-14 16:08   ` Bryan O'Donoghue
2024-08-15 15:14     ` Depeng Shao
2024-08-15 16:10       ` Bryan O'Donoghue
2024-08-16 11:34   ` Bryan O'Donoghue
2024-08-16 13:11     ` Depeng Shao
2024-08-16 14:21   ` Bryan O'Donoghue
2024-08-19 13:23     ` Depeng Shao
2024-08-16 14:45   ` Bryan O'Donoghue
2024-08-19 13:18     ` Depeng Shao
2024-08-16 14:49   ` Bryan O'Donoghue
2024-08-24 13:19   ` Vladimir Zapolskiy
2024-09-30  9:23   ` Vladimir Zapolskiy
2024-09-30  9:38     ` Depeng Shao
2024-08-12 14:41 ` [PATCH 13/13] media: qcom: camss: Add support for VFE hardware version Titan 780 Depeng Shao
2024-08-14 11:13   ` Vladimir Zapolskiy
2024-08-14 13:10     ` Depeng Shao
2024-08-14 23:20       ` Vladimir Zapolskiy
2024-08-15 14:42         ` Depeng Shao
2024-08-15 14:57           ` Vladimir Zapolskiy
2024-08-15 15:43             ` Depeng Shao
2024-08-15 21:31               ` Vladimir Zapolskiy
2024-08-16 12:42                 ` Depeng Shao
2024-08-20 14:01                   ` Vladimir Zapolskiy
2024-08-14 16:23   ` Bryan O'Donoghue
2024-08-15 13:33     ` Depeng Shao
2024-08-15 16:16       ` Bryan O'Donoghue
2024-08-15  0:16   ` Bryan O'Donoghue
2024-08-15 14:24     ` Depeng Shao
2024-08-15  0:25   ` Bryan O'Donoghue
2024-08-15 14:21     ` Depeng Shao
2024-08-15 16:17       ` Bryan O'Donoghue
2024-09-29  1:28       ` Depeng Shao
2024-09-29 23:57         ` Bryan O'Donoghue
2024-09-30  5:37           ` Depeng Shao [this message]
2024-08-19 11:05   ` Bryan O'Donoghue
2024-08-19 13:07     ` Depeng Shao
2024-08-21 11:11   ` Vladimir Zapolskiy
2024-08-24 13:31     ` Vladimir Zapolskiy
2024-08-27 13:16   ` Bryan O'Donoghue
2024-08-13 12:35 ` [PATCH v4 00/13] media: qcom: camss: Add sm8550 support Bryan O'Donoghue
2024-08-13 12:42   ` Depeng Shao

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=f31c2b15-d1ae-41fa-952b-eab806b0e15d@quicinc.com \
    --to=quic_depengs@quicinc.com \
    --cc=bryan.odonoghue@linaro.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kernel@quicinc.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=quic_yon@quicinc.com \
    --cc=rfoss@kernel.org \
    --cc=robh@kernel.org \
    --cc=todor.too@gmail.com \
    /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;
as well as URLs for NNTP newsgroup(s).