On 2024-11-29 23:08, Bryan O'Donoghue wrote:
On 29/11/2024 13:46, barnabas.czeman@xxxxxxxxxxxxxx wrote:I think logging in pm_domain_on should be placed after device_link_add because only NULL
On 2024-11-29 13:25, Bryan O'Donoghue wrote:
On 29/11/2024 11:44, barnabas.czeman@xxxxxxxxxxxxxx wrote:I have added some debug logs it seems pm_domain_on and pm_domain_off is called twice on the same object.
The change does not describe how to reproduce the problem, which commitI can reproduce the problem with megapixels-sensorprofile on msm8953 and
base is tested, which platform is testes, there is no enough information,
unfortunately.
it can be reproduced with megapixels on msm8996.
The base is the last commit on next.
Can you verify if vfe_domain_on has run and if so whether or not genpd_link is NULL when that function exists.
[ 63.473360] qcom-camss 1b00020.camss: pm_domain_on 19842ce8 link 42973800
[ 63.481524] qcom-camss 1b00020.camss: pm_domain_on 19840080 link 4e413800
[ 63.481555] qcom-camss 1b00020.camss: pm_domain_on 19842ce8 link 42973800
[ 63.481632] qcom-camss 1b00020.camss: pm_domain_off 19840080 link 4e413800
[ 63.481641] qcom-camss 1b00020.camss: pm_domain_off 19842ce8 link 42973800
[ 63.654004] qcom-camss 1b00020.camss: pm_domain_off 19842ce8 link 0
That's the question.
---
bod
Could you provide this output ?
index 80a62ba112950..b25b8f6b00be1 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe.c
@@ -595,6 +595,9 @@ void vfe_isr_reset_ack(struct vfe_device *vfe)
*/
void vfe_pm_domain_off(struct vfe_device *vfe)
{
+dev_info(camss->dev, "%s VFE %d genpd %pK genpd_link %pK\n",
+ __func__, vfe->id, vfe->genpd, vfe->genpd_link);
+
if (!vfe->genpd)
return;
@@ -609,7 +612,8 @@ void vfe_pm_domain_off(struct vfe_device *vfe)
int vfe_pm_domain_on(struct vfe_device *vfe)
{
struct camss *camss = vfe->camss;
-
+dev_info(camss->dev, "%s VFE %d genpd %pK genpd_link %pK\n",
+ __func__, vfe->id, vfe->genpd, vfe->genpd_link);
if (!vfe->genpd)
return 0;
---
bod
will be visible.
[ 83.040694] qcom-camss 1b00020.camss: vfe_pm_domain_on VFE 1 genpd 000000009bd8355f genpd_link 0000000000000000
[ 83.049293] qcom-camss 1b00020.camss: vfe_pm_domain_on VFE 0 genpd 00000000bfb65e7c genpd_link 0000000000000000
[ 83.049353] qcom-camss 1b00020.camss: vfe_pm_domain_on VFE 1 genpd 000000009bd8355f genpd_link 00000000ccb0acd9
[ 83.049641] qcom-camss 1b00020.camss: vfe_pm_domain_off VFE 0 genpd 00000000bfb65e7c genpd_link 00000000348ac3c1
[ 83.049654] qcom-camss 1b00020.camss: vfe_pm_domain_off VFE 1 genpd 000000009bd8355f genpd_link 00000000ccb0acd9
[ 83.241498] qcom-camss 1b00020.camss: vfe_pm_domain_off VFE 1 genpd 000000009bd8355f genpd_link 0000000000000000