- Nov 09, 2023
-
-
Bryan O'Donoghue authored
vfe-170 and vfe-175 can be supported in the same file with some minimal indirection to differentiate between the silicon versions. sdm845 uses vfe-170, sc8280xp uses vfe-175-200. Lets rename the file to capture its wider scope than vfe-170 only. Acked-by:
Konrad Dybcio <konrad.dybcio@linaro.org> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Add in functional logic throughout the code to support the sc8280xp. Acked-by:
Konrad Dybcio <konrad.dybcio@linaro.org> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
This commit describes the hardware layout for the sc8280xp for the following hardware blocks: - 4 x VFE, 4 RDI per VFE - 4 x VFE Lite, 4 RDI per VFE - 4 x CSID - 4 x CSID Lite - 4 x CSI PHY Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Add a PHY configuration sequence for the sc8280xp which uses a Qualcomm Gen 2 version 1.1 CSI-2 PHY. The PHY can be configured as two phase or three phase in C-PHY or D-PHY mode. This configuration supports two-phase D-PHY mode. Reviewed-by:
Konrad Dybcio <konrad.dybcio@linaro.org> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Adds a CAMSS SoC identifier for the SC8280XP. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Add bindings for qcom,sc8280xp-camss in order to support the camera subsystem for sc8280xp as found in the Lenovo x13s Laptop. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by:
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
-
Bryan O'Donoghue authored
V5: - Fixes the lower case 0x0c to 0x0C not sure how Konrad even saw this. - Drops frequency table to just individual frequencies not full array of opps - Konrad - As explained doesn't change the finding of frequencies. Current array size will ensure testing if (freq[x]) succeeds though I do agree this should be changed up. Plan to restructure struct params for specificity to VFE, CSID and will incorporate this change then. Link: https://lore.kernel.org/all/e80d4026-a525-48ef-b53a-f1276dd316e6@linaro.org - Reset sequence Right now the reset works. I agree qcom's downstream has more stuff in it. I've logged a task to evaluate expansion of the reset and to test across multiple platforms. For now not required for this drop. - _src clocks For one assumes the reason that at some stage in time we didn't have SET_PARENT in our CAMCC we have _src clocks and _SRC indexes in our code, dtsi and yaml. Removing the _src should be trivial however we might find that as a result some of the CAMCC drivers need to be updated. That obviously is a separate series. Link to v4: https://lore.kernel.org/r/20231109-b4-camss-sc8280xp-v4-0-58a58bc200f9@linaro.org Link to tree: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/camss-sc8280xp-v5 V4: - Drops all _src clocks and _SRC indexes in series. True enough the CAMCC driver has all of the appropriate SET_PARENT flags so there's no need to represent _src clocks. - Konrad - I've opted not to split C-PHY and D-PHY init sequences up unless/until we have a C-PHY init sequence upstream. - bod/Konrad - b4 trailes --update -> + Konrad's Acks Link to v3: https://lore.kernel.org/r/20231105-b4-camss-sc8280xp-v3-0-4b3c372ff0f4@linaro.org Link to tree: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/camss-sc8280xp-v4 V3: - Strip pointer to dependencies from yaml patch I was hoping the robot would understand the links but it doesn't - Krzysztof Link to v2: https://lore.kernel.org/r/20231103-b4-camss-sc8280xp-v2-0-b7af4d253a20@linaro.org b4 base: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/camss-sc8280xp-v3 V2: - Rebase to capture is_lite flag from named power-domain series - Amends commit log of final patch to give more detail on rename - Konrad - Opted not to change switch() statements with returns. - bod/Konrad Requires CAMCC for sc8280xp which applies to qcom/clk-for-6.7: https://lore.kernel.org/linux-arm-msm/20231026105345.3376-1-bryan.odonoghue@linaro.org/ b4 shazam 20231026105345.3376-1-bryan.odonoghue@linaro.org Requires the named power-domain patches which apply to media-tree/*: https://lore.kernel.org/linux-arm-msm/20231103-b4-camss-named-power-domains-v4-0-33a905359dbc@linaro.org/ b4 shazam e700133b-58f7-4a4d-8e5c-0d04441b789b@linaro.org Link to v1: https://lore.kernel.org/r/20231102-b4-camss-sc8280xp-v1-0-9996f4bcb8f4@linaro.org b4 base: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/camss-sc8280xp-v2 V1: sc8280xp is the SoC found in the Lenovo X13s. This series adds support to bring up the CSIPHY, CSID, VFE/RDI interfaces. A number of precursor patches make this series smaller overall than previous series. sc8280xp provides - 4 x VFE, 4 RDI per VFE - 4 x VFE Lite, 4 RDI per VFE - 4 x CSID - 4 x CSID Lite - 4 x CSI PHY I've taken the yaml from a dtsi series and included it here since 1) I sent the yaml to the wrong person and 2) it already has RB from Krzysztof. Requires CAMCC for sc8280xp which applies to qcom/clk-for-6.7: https://lore.kernel.org/linux-arm-msm/20231026105345.3376-1-bryan.odonoghue@linaro.org/ b4 shazam 20231026105345.3376-1-bryan.odonoghue@linaro.org Requires the named power-domain patches which apply to media-tree/* : https://lore.kernel.org/linux-arm-msm/20231101-b4-camss-named-power-domains-v3-5-bbdf5f22462a@linaro.org/ b4 shazam 20231101-b4-camss-named-power-domains-v3-5-bbdf5f22462a@linaro.org To use the camera on x13s with say Google Hangouts or Microsoft Teams you will need to 1. Run Firefox 2. Update about:config to enable pipewire 3. Use this WIP version of libcamera https://gitlab.freedesktop.org/camera/libcamera-softisp A working bootable tree can be found here: Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/lenovo-x13s-linux-6.5.y b4 base: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/camss-sc8280xp To: hverkuil-cisco@xs4all.nl To: laurent.pinchart@ideasonboard.com To: Andy Gross <agross@kernel.org> To: Bjorn Andersson <andersson@kernel.org> To: Konrad Dybcio <konrad.dybcio@linaro.org> To: Robert Foss <rfoss@kernel.org> To: Todor Tomov <todor.too@gmail.com> To: Mauro Carvalho Chehab <mchehab@kernel.org> To: Rob Herring <robh+dt@kernel.org> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> To: Conor Dooley <conor+dt@kernel.org> To: vincent.knecht@mailoo.org To: matti.lehtimaki@gmail.com To: quic_grosikop@quicinc.com Cc: linux-arm-msm@vger.kernel.org Cc: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org> --- b4-submit-tracking --- # This section is used internally by b4 prep for tracking purposes. { "series": { "revision": 5, "change-id": "20231101-b4-camss-sc8280xp-0e1b91eb21bf", "prefixes": [], "history": { "v1": [ "20231102-b4-camss-sc8280xp-v1-0-9996f4bcb8f4@linaro.org" ], "v2": [ "20231103-b4-camss-sc8280xp-v2-0-b7af4d253a20@linaro.org" ], "v3": [ "20231105-b4-camss-sc8280xp-v3-0-4b3c372ff0f4@linaro.org" ], "v4": [ "20231109-b4-camss-sc8280xp-v4-0-58a58bc200f9@linaro.org" ] } } }
-
- Nov 03, 2023
-
-
Bryan O'Donoghue authored
sc8280xp is the SoC found in the Lenovo X13s. This series adds support to bring up the CSIPHY, CSID, VFE/RDI interfaces. A number of precursor patches make this series smaller overall than previous series. sc8280xp provides - 4 x VFE, 4 RDI per VFE - 4 x VFE Lite, 4 RDI per VFE - 4 x CSID - 4 x CSID Lite - 4 x CSI PHY I've taken the yaml from a dtsi series and included it here since 1) I sent the yaml to the wrong person and 2) it already has RB from Krzysztof. Requires CAMCC for sc8280xp which applies to qcom/clk-for-6.7: https://lore.kernel.org/linux-arm-msm/20231026105345.3376-1-bryan.odonoghue@linaro.org/ b4 shazam 20231026105345.3376-1-bryan.odonoghue@linaro.org Requires the named power-domain patches which apply to media-tree/* : https://lore.kernel.org/linux-arm-msm/20231101-b4-camss-named-power-domains-v3-5-bbdf5f22462a@linaro.org/ b4 shazam 20231101-b4-camss-named-power-domains-v3-5-bbdf5f22462a@linaro.org To use the camera on x13s with say Google Hangouts or Microsoft Teams you will need to 1. Run Firefox 2. Update about:config to enable pipewire 3. Use this WIP version of libcamera https://gitlab.freedesktop.org/camera/libcamera-softisp A working bootable tree can be found here: Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/lenovo-x13s-linux-6.5.y b4 base: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/camss-sc8280xp # Describe the purpose of this series. The information you put here # will be used by the project maintainer to make a decision whether # your patches should be reviewed, and in what priority order. Please be # very detailed and link to any relevant discussions or sites that the # maintainer can review to better understand your proposed changes. If you # only have a single patch in your series, the contents of the cover # letter will be appended to the "under-the-cut" portion of the patch. # Lines starting with # will be removed from the cover letter. You can # use them to add notes or reminders to yourself. If you want to use # markdown headers in your cover letter, start the line with ">#". # You can add trailers to the cover letter. Any email addresses found in # these trailers will be added to the addresses specified/generated # during the b4 send stage. You can also run "b4 prep --auto-to-cc" to # auto-populate the To: and Cc: trailers based on the code being # modified. To: hverkuil-cisco@xs4all.nl To: laurent.pinchart@ideasonboard.com To: Andy Gross <agross@kernel.org> To: Bjorn Andersson <andersson@kernel.org> To: Konrad Dybcio <konrad.dybcio@linaro.org> To: Robert Foss <rfoss@kernel.org> To: Todor Tomov <todor.too@gmail.com> To: Mauro Carvalho Chehab <mchehab@kernel.org> To: Rob Herring <robh+dt@kernel.org> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> To: Conor Dooley <conor+dt@kernel.org> To: vincent.knecht@mailoo.org To: matti.lehtimaki@gmail.com To: grosikop@quicinc.com Cc: linux-arm-msm@vger.kernel.org Cc: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org> --- Changes in v2: - EDITME: describe what is new in this series revision. - EDITME: use bulletpoints and terse descriptions. - Link to v1: https://lore.kernel.org/r/20231102-b4-camss-sc8280xp-v1-0-9996f4bcb8f4@linaro.org --- b4-submit-tracking --- # This section is used internally by b4 prep for tracking purposes. { "series": { "revision": 2, "change-id": "20231101-b4-camss-sc8280xp-0e1b91eb21bf", "prefixes": [], "history": { "v1": [ "20231102-b4-camss-sc8280xp-v1-0-9996f4bcb8f4@linaro.org" ] } } }
-
Bryan O'Donoghue authored
Name the power-domains for TITAN_TOP_GDSC, IFE_0_GDSC and IFE_1_GDSC. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Historically the CAMSS driver has relied upon and therefore imposed a defacto ordering of power-domain declarations in dtsi. Adding support for named-power domains means the ordering of the power-domain indexes doesn't matter. Add a set of named power-domains for sm8250 as a jumping-off point. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Declare power-domain names "top", "ife0" and "ife1" eponymously for the power-domains TITAN_TOP_GDSC, IFE_0_GDSC and IFE_1_GDSC respectively. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Some platforms such as SC7280 have 3 CSIDs and 2 CSID-lites but current code has hardcoded 2 as the maximum number of CSIDs. Remove the hardcoded maximum number of VFEs to handle all possible combinations of CSIDs and CSID-lites. Signed-off-by:
Matti Lehtimäki <matti.lehtimaki@gmail.com> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Some platforms such as SC7280 have three VFEs and two VFE-lites. Current code has hard-coded two as the maximum number of VFEs. Remove the hard-coded maximum number of VFEs to handle all possible combinations of VFEs and VFE-lites. Signed-off-by:
Matti Lehtimäki <matti.lehtimaki@gmail.com> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
- Nov 02, 2023
-
-
Bryan O'Donoghue authored
Right now we use fixed indexes to assign power-domains, with a requirement for the TOP GDSC to come last in the list. Adding support for named power-domains means the declaration in the dtsi can come in any order. After this change we continue to support the old indexing - if a SoC resource declaration or the in-use dtb doesn't declare power-domain names we fall back to the default legacy indexing. From this point on though new SoC additions should contain named power-domains, eventually we will drop support for legacy indexing. Tested-by:
Matti Lehtimäki <matti.lehtimaki@gmail.com> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Moving the location of the hooks to VFE power domains has several advantages. 1. Separation of concerns and functional decomposition. vfe.c should be responsible for and know best how manage power-domains for a VFE, excising from camss.c follows this principle. 2. Embedding a pointer to genpd in struct camss_vfe{} meas that we can dispense with a bunch of kmalloc array inside of camss.c. 3. Splitting up titan top gdsc from vfe/ife gdsc provides a base for breaking up magic indexes in dtsi. Suggested-by:
Matti Lehtimäki <matti.lehtimaki@gmail.com> Tested-by:
Matti Lehtimäki <matti.lehtimaki@gmail.com> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
- Oct 31, 2023
-
-
Bryan O'Donoghue authored
For the various versions of VFE we have a boiler-plate pm_domain_on/pm_domain_off callback pair of the general form. - Error check. Not always done but applicable to all. - device_link_add (DL_FLAG_STATELESS | DL_FLAG_PM_RUNTIME | DL_FLAG_RPM_ACTIVE); - Error check returning -EINVAL on error. - Return 0 Reduce the pattern down to a common callback. VFE 4.1 is a special case which to me also indicates that it is worthwhile maintaining an indirection for the vfe_pm_domain_{on|off} for now. Otherwise lets chuck out a bunch of needlessly replicated code. Reviewed-by:
Konrad Dybcio <konrad.dybcio@linaro.org> Suggested-by:
Matti Lehtimäki <matti.lehtimaki@gmail.com> Tested-by:
Matti Lehtimäki <matti.lehtimaki@gmail.com> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Right now we use the top-level camss structure to provide pointers via VFE id index back to genpd linkages. In effect this hard-codes VFE indexes to power-domain indexes in the dtsi and mandates a very particular ordering of power domains in the dtsi, which bears no relationship to a real hardware dependency. As a first step to rationalising the VFE power-domain code and breaking the magic indexing in dtsi use per-VFE pointers to genpd linkages. The top-level index in msm_vfe_subdev_init is still used to attain the initial so no functional or logical change arises from this change. Reviewed-by:
Konrad Dybcio <konrad.dybcio@linaro.org> Tested-by:
Matti Lehtimäki <matti.lehtimaki@gmail.com> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
At the moment we have some complex code for determining if a VFE requires a power-domain attachment. Particularly discordant in this scheme is the subtle reliance on VFE and VFE Lite declaration ordering in our resources. VFE id is used to determine if a VFE is lite or not and consequently if a VFE requires power-domain attachment. VFE Lite though is not a correct delineation between power-domain and non power-domain state since early SoCs have neither VFE Lite nor power-domains attached to VFEs. Introduce has_pd to the VFE resource structure to allow the CAMSS code to understand if it needs to try to attach a power-domain for a given VFE. As a side-effect from this we no longer need to care about VFE Lite or non-Lite or the id number associated with either and which order the VFE/VFE Lite was declared in. Reviewed-by:
Konrad Dybcio <konrad.dybcio@linaro.org> Tested-by:
Matti Lehtimäki <matti.lehtimaki@gmail.com> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
V4: - Updates camss_configure_pd() to use has_pd to determine if a VFE has a pd instead of comparing to vfe_num - Brings in is_lite fixes from Matti The determination of IS_LITE() has been a running sore in this code for some time. Named power domains remove magic index dependencies. Similarly adding an "is_lite" flag to our resources removes the last of the magic indexing sins, so this is an opportune series to add it in. Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/b4-camss-named-power-domains-v4 sm8250-testable: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/b4-camss-named-power-domains-v4+sm8250 Link: https://lore.kernel.org/r/20231101-b4-camss-named-power-domains-v3-0-bbdf5f22462a@linaro.org V3: - Includes bugfix reported on IRC genpd_link and genpd should be checked for NULL on the cleanup path. Matti Lehtimäki - Retains NULL check before dev_pm_domain_attach_by_name() I experimented with the suggested drop but of_property_match_string() chokes Link: https://lore.kernel.org/lkml/883ce8a7-80e1-4065-a957-424d0b4a6535@linaro.org/T/#m10e5a43d0245f13eca177ef2f65b24259c641030 Konrad - Fixes spelling caught by codespell - Konrad Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/b4-camss-named-power-domains-v3 sm8250-testable: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/b4-camss-named-power-domains-v3+sm8250 V2: - Incorporates Konrad's suggestion re: removing 'id' - Adds RB - Konrad - Adds in a flag to indicate if a VFE has a power domain. As I rebased this series I realised we had some magic indexing for VFE v VFE Lite, which isn't the root cause of my bug bear in this series but is the same sin - inferring functionality from indexing. Once we transition fully to named pds we won't need a 'has_pd' to flag which VFEs need power-domain attachment and which don't. That transition will require populating all upstream dtsi with pd-names and then deprecating the old way. has_pd is a far better choice than inferring from indexes so, I've added. Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/commits/aa45a2b58aa1e187a2698a65164d694251f08fa1 V1: At the moment the Qcom CAMSS driver relies on the declaration order of power-domains within the dtsi to determine which power-domain relates to a VFE and which power-domain relates to the top-level (top) CAMSS power-domain. VFE power-domains must be declared prior to the top power-domain. The top power-domain must be declared last. Early SoCs have just one top power-domain with later SoCs introducing VFE specific power-domains. Differentiating between the number of power-domains results in lots of code which is brittle and which we can mostly get rid of with named power-domains. The reliance on declaration ordering is in-effect magic number indexing. This series introduces named power-domains for CAMSS and refactors some of the code in CAMSS to support the new named power-domains. We continue to support the legacy indexing model with an intention to remove after a reasonable transition period. New SoC additions should use named power-domains from now on. Tested on x13s, rb5, db410c Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/linux-next-23-10-23-camss-named-power-domains Bryan O'Donoghue (5): media: qcom: camss: Flag which VFEs require a power-domain media: qcom: camss: Convert to per-VFE pointer for power-domain linkages media: qcom: camss: Use common VFE pm_domain_on/pm_domain_off where applicable media: qcom: camss: Move VFE power-domain specifics into vfe.c media: qcom: camss: Add support for named power-domains .../media/platform/qcom/camss/camss-vfe-170.c | 36 -------- .../media/platform/qcom/camss/camss-vfe-4-1.c | 8 +- .../media/platform/qcom/camss/camss-vfe-4-7.c | 36 -------- .../media/platform/qcom/camss/camss-vfe-4-8.c | 31 ------- .../media/platform/qcom/camss/camss-vfe-480.c | 36 -------- drivers/media/platform/qcom/camss/camss-vfe.c | 77 ++++++++++++++++ drivers/media/platform/qcom/camss/camss-vfe.h | 16 ++++ drivers/media/platform/qcom/camss/camss.c | 87 ++++++++++++------- drivers/media/platform/qcom/camss/camss.h | 7 +- 9 files changed, 156 insertions(+), 178 deletions(-) -- 2.42.0 To: hverkuil-cisco@xs4all.nl To: laurent.pinchart@ideasonboard.com To: Robert Foss <rfoss@kernel.org> To: Todor Tomov <todor.too@gmail.com> To: Bryan O'Donoghue <bryan.odonoghue@linaro.org> To: Andy Gross <agross@kernel.org> To: Bjorn Andersson <andersson@kernel.org> To: Konrad Dybcio <konrad.dybcio@linaro.org> To: Mauro Carvalho Chehab <mchehab@kernel.org> To: matti.lehtimaki@gmail.com To: quic_grosikop@quicinc.com Cc: linux-media@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- Changes in v5: - EDITME: describe what is new in this series revision. - EDITME: use bulletpoints and terse descriptions. - Link to v4: https://lore.kernel.org/r/20231103-b4-camss-named-power-domains-v4-0-33a905359dbc@linaro.org --- b4-submit-tracking --- # This section is used internally by b4 prep for tracking purposes. { "series": { "revision": 5, "change-id": "20231031-b4-camss-named-power-domains-cc2ac2722543", "prefixes": [], "from-thread": "20231026155042.551731-1-bryan.odonoghue@linaro.org", "history": { "v3": [ "20231101-b4-camss-named-power-domains-v3-0-bbdf5f22462a@linaro.org" ], "v4": [ "20231103-b4-camss-named-power-domains-v4-0-33a905359dbc@linaro.org" ] } } }
-
- Oct 18, 2023
-
-
Jai Luthra authored
The driver uses MIPI DPHY helper routines from the PHY core. Make sure we select the relevant config for compilation. Fixes: a91d06f4 ("media: cadence: csi2rx: Configure DPHY using link freq") Reported-by:
kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202310170258.UzSN4RUB-lkp@intel.com/ Signed-off-by:
Jai Luthra <j-luthra@ti.com> [Sakari Ailus: Also select GENERIC_PHY.] Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Jai Luthra authored
Fix the path of the devicetree bindings. The path was changed during review but MAINTAINERS file was not updated. Fixes: b4a3d877 ("media: ti: Add CSI2RX support for J721E") Reported-by:
kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202310130411.c66pTXjG-lkp@intel.com/ Signed-off-by:
Jai Luthra <j-luthra@ti.com> Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
- Oct 13, 2023
-
-
Marek Szyprowski authored
'meson' directory contains two separate drivers, so it should be added to Makefile compilation hierarchy unconditionally, because otherwise the meson-ao-cec-g12a won't be compiled if meson-ao-cec is not selected. Signed-off-by:
Marek Szyprowski <m.szyprowski@samsung.com> Fixes: 4be5e864 ("media: move CEC platform drivers to a separate directory") Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Ma Ke authored
In order to avoid error pointers from frame_vector_pages(), we could use IS_ERR() to check the return value to fix this. This checking operation could make sure that vector contains pages. Signed-off-by:
Ma Ke <make_ruc2021@163.com> Acked-by:
Tomasz Figa <tfiga@chromium.org> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Moudy Ho authored
Fix the build warnings that were detected by the linux-media build scripts tool: drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c: In function 'mdp_path_config.isra': drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c: warning: 'ctx' may be used uninitialized [-Wmaybe-uninitialized] | out = CFG_COMP(MT8195, ctx->param, outputs[0]); | ~~~^~~~~~~ drivers/media/platform/mediatek/mdp3/mtk-img-ipi.h: note: in definition of macro 'CFG_COMP' | (IS_ERR_OR_NULL(comp) ? 0 : _CFG_COMP(plat, comp, mem)) | ^~~~ drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c: note: 'ctx' was declared here | struct mdp_comp_ctx *ctx; | Fixes: 61890cca ("media: platform: mtk-mdp3: add MediaTek MDP3 driver") Signed-off-by:
Moudy Ho <moudy.ho@mediatek.com> Reviewed-by:
AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Yunfei Dong authored
Need to use encoder device to allocate/free encoder memory when calling mtk_vcodec_mem_alloc/mtk_vcodec_mem_free, or leading to below crash log when test encoder with decoder device. pc : dma_alloc_attrs+0x44/0xf4 lr : mtk_vcodec_mem_alloc+0x50/0xa4 [mtk_vcodec_common] sp : ffffffc0209f3990 x29: ffffffc0209f39a0 x28: ffffff8024102a18 x27: 0000000000000000 x26: 0000000000000000 x25: ffffffc00c06e2d8 x24: 0000000000000001 x23: 0000000000000cc0 x22: 0000000000000010 x21: 0000000000000800 x20: ffffff8024102a18 x19: 0000000000000000 x18: 0000000000000000 x17: 0000000000000009 x16: ffffffe389736a98 x15: 0000000000000078 x14: ffffffe389704434 x13: 0000000000000007 x12: ffffffe38a2b2560 x11: 0000000000000800 x10: 0000000000000004 x9 : ffffffe331f07484 x8 : 5400e9aef2395000 x7 : 0000000000000000 x6 : 000000000000003f x5 : 0000000000000001 x4 : 0000000000000000 x3 : 0000000000000cc0 x2 : ffffff8024102a18 x1 : 0000000000000800 x0 : 0000000000000010 Call trace: dma_alloc_attrs+0x44/0xf4 mtk_vcodec_mem_alloc+0x50/0xa4 [mtk_vcodec_common 2819d3d601f3cd06c1f2213ac1b9995134441421] h264_enc_set_param+0x27c/0x378 [mtk_vcodec_enc 772cc3d26c254e8cf54079451ef8d930d2eb4404] venc_if_set_param+0x4c/0x7c [mtk_vcodec_enc 772cc3d26c254e8cf54079451ef8d930d2eb4404] vb2ops_venc_start_streaming+0x1bc/0x328 [mtk_vcodec_enc 772cc3d26c254e8cf54079451ef8d930d2eb4404] vb2_start_streaming+0x64/0x12c vb2_core_streamon+0x114/0x158 vb2_streamon+0x38/0x60 v4l2_m2m_streamon+0x48/0x88 v4l2_m2m_ioctl_streamon+0x20/0x2c v4l_streamon+0x2c/0x38 __video_do_ioctl+0x2c4/0x3dc video_usercopy+0x404/0x934 video_ioctl2+0x20/0x2c v4l2_ioctl+0x54/0x64 v4l2_compat_ioctl32+0x90/0xa34 __arm64_compat_sys_ioctl+0x128/0x13c invoke_syscall+0x4c/0x108 el0_svc_common+0x98/0x104 do_el0_svc_compat+0x28/0x34 el0_svc_compat+0x2c/0x74 el0t_32_sync_handler+0xa8/0xcc el0t_32_sync+0x194/0x198 Code: aa0003f6 aa0203f4 aa0103f5 f900 'Fixes: 01abf5fb ("media: mediatek: vcodec: separate struct 'mtk_vcodec_ctx'")' Signed-off-by:
Yunfei Dong <yunfei.dong@mediatek.com> Reviewed-by:
AngeloGioacchino Del Regno <angelogioacchino@collabora.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Ming Qian authored
After gstreamer rework the dynamic resolution change handling, gstreamer stop doing capture buffer allocation based on guesses and wait for the source change event when available. It requires driver always notify source change event in the initialization, even if the size parsed is equal to the size set on capture queue. otherwise, the pipeline will be stalled. Currently driver may not notify source change event if the parsed format and size are equal to those previously established, but it may stall the gstreamer pipeline. The link of gstreamer patch is https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4437 Fixes: b4e1fb86 ("media: imx-jpeg: Support dynamic resolution change") Signed-off-by:
Ming Qian <ming.qian@nxp.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Jinjie Ruan authored
As Andrzej suggested, use EP5_BUF_SIZE macro to replace the other three places of 4096 in cx231xx with EP5_BUF_SIZE. Signed-off-by:
Jinjie Ruan <ruanjinjie@huawei.com> Suggested-by:
Andrzej Pietrasiewicz <andrzej.p@collabora.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Jinjie Ruan authored
Both debugfs_create_dir() and debugfs_create_file() return ERR_PTR and never return NULL. As Hans suggested, this patch removes the error checking for both debugfs_create_dir() and debugfs_create_file() in smsdvb_debugfs_create(). This is because the DebugFS kernel API is developed in a way that the caller can safely ignore the errors that occur during the creation of DebugFS nodes. The debugfs APIs have a IS_ERR() judge in start_creating() which can handle it gracefully. So these checks are unnecessary. And as Hans pointed out, it's much better to first allocate debug_data before calling debugfs_create_dir, which need not to clean anything up in that case. Fixes: 503efe5c ("[media] siano: split debugfs code into a separate file") Signed-off-by:
Jinjie Ruan <ruanjinjie@huawei.com> Suggested-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Irui Wang authored
Handle invalid encoder vsi in vpu_enc_init to ensure the encoder vsi is valid for future use. Fixes: 1972e324 ("media: mediatek: vcodec: Fix possible invalid memory access for encoder") Signed-off-by:
Irui Wang <irui.wang@mediatek.com> Reviewed-by:
AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Jinjie Ruan authored
debugfs_create_file() return ERR_PTR and never return NULL. When calling debugfs functions, there is no need to ever check the return value. The function can work or not, but the code logic should never do something different based on this. Fixes: 52fed10a ("media: aspeed: add debugfs") Signed-off-by:
Jinjie Ruan <ruanjinjie@huawei.com> Suggested-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Reviewed-by:
Eddie James <eajames@linux.ibm.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Hans Verkuil authored
The list of ioctls that set or clear this flag was garbled in the generator output. Put in the proper text. Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Hans Verkuil authored
The text is very, very old and predates /dev/mediaX devices, so the reference to "media device" is today very confusing. It also says that the ioctl is not supported by the driver, but a driver may have multiple device nodes, some support a given ioctl, and some don't. Simplify the description: ENOTTY means that the ioctl is not supported by the file descriptor. Reported-by:
Nicolas Dufresne <nicolas.dufresne@collabora.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Reviewed-by:
Nicolas Dufresne <nicolas.dufresne@collabora.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Benjamin Gaignard authored
RK3588 AV1 decoder hardware block have resets lines and driver code already support it. Update yaml file to be aligned with this feature. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com> Acked-by:
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Benjamin Gaignard authored
Mainlined RK3588 clock driver manage by itself the dependency between aclk/hclk and their root clocks (aclk_vdpu_root/hclk_vdpu_root). RK3588 av1 video decoder do not have to take care of it anymore so remove them from the list and be compliant with yaml bindings description. Fixes: 003afda9 ("media: verisilicon: Enable AV1 decoder on rk3588") Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Ma Ke authored
In order to avoid error pointers from frame_vector_pages(), we could use IS_ERR() to check the return value to fix this. This checking operation could make sure that vector contains pages. Signed-off-by:
Ma Ke <make_ruc2021@163.com> Acked-by:
Tomasz Figa <tfiga@chromium.org> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> [hverkuil: add space between ){] Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Hans Verkuil authored
If the cx NULL pointer check is true, then it reports an error with CX18_ERR, but that uses cx. Replace it with pr_err. Reported by smatch: drivers/media/pci/cx18/cx18-mailbox.c:834 cx18_vapi() error: we previously assumed 'cx' could be null (see line 833) Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Hans Verkuil authored
Fix smatch warnings: drivers/media/pci/mgb4/mgb4_sysfs_out.c:118 video_source_store() warn: potential spectre issue 'mgbdev->vin' [r] (local cap) drivers/media/pci/mgb4/mgb4_sysfs_out.c:122 video_source_store() warn: possible spectre second half. 'loopin_new' Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Reviewed-by:
Martin Tůma <martin.tuma@digiteqautomotive.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Hans Verkuil authored
For consistency use goto instead of return. This fixes a smatch warning: drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c:2792 mxc_jpeg_probe() warn: missing unwind goto? Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-