Re: [RFC PATCH 00/14] CAMSS support for MSM8974

From: Dmitry Baryshkov
Date: Mon May 23 2022 - 08:40:05 EST


On 22/05/2022 19:27, Luca Weiss wrote:
This RFC series adds support for CAMSS and CCI that are found on
msm8974, including the OV8865 found on the FP2.

The only reason it's marked RFC is that CAMSS doesn't behave properly on
this SoC without the last commit which is obviously not upstreamable.
Not sure if this should be a blocker for including most of the other
patches because other than that it seems to work fine and I can get a
picture from the camera sensor. When/if msm8974 gets IOMMU support I
hope this should be resolved and it works without this hack.

I think at least the CCI patches could get applied as they're not
dependent on the CAMSS hack?

I'd also vote for the camcc patches to be applied.

As for the camss, I'd suggest to get them verified to work properly with a hacked/non-upstreamable/etc. IOMMU driver if one exists. Otherwise we can easily get into a situation where we merge up code that contains bugs itself.

Another option might be to actually check whether the device has an IOMMU attached (see device_iommu_mapped()) and to select whether the driver should use SG or CONTIG depending on that.

As an additional note regarding the offset issue you've mentioned. It looks like there is an issue with the swiotlb. On the IFC6410 (apq8064, no IOMMU) I got an issue with the PCI-attached networking card. Received packets are offset by 4 (IIRC) bytes. The same type of adapter works on db820c (apq8096, working IOMMU). What kind of issues did you observe with the camss? If it looks like the issue I had, it might be a symptom of a more generic issue.


Luca Weiss (5):
dt-bindings: i2c: qcom-cci: add QCOM MSM8974 compatible
ARM: dts: qcom: msm8974: add CCI bus
ARM: dts: qcom: msm8974: add CAMSS node
ARM: dts: qcom: msm8974-FP2: Add OV8865 rear camera
[DNM] media: camss: hacks for MSM8974

Matti Lehtimäki (9):
media: dt-bindings: media: camss: Add qcom,msm8974-camss binding
media: camss: Add CAMSS_8x74 camss version
media: camss: vfe: Add support for 8x74
media: camss: video: Add support for 8x74
media: camss: csid: Add support for 8x74
media: camss: ispif: Add support for 8x74
media: camss: csiphy: Add support for 8x74
media: camss: Add 8x74 resources
i2c: qcom-cci: add msm8974 compatible

.../devicetree/bindings/i2c/i2c-qcom-cci.txt | 7 +-
.../bindings/media/qcom,msm8974-camss.yaml | 321 ++++++++++++++++++
arch/arm/boot/dts/qcom-msm8974.dtsi | 184 ++++++++++
.../dts/qcom-msm8974pro-fairphone-fp2.dts | 70 ++++
drivers/i2c/busses/i2c-qcom-cci.c | 35 ++
drivers/media/platform/qcom/camss/Kconfig | 4 +-
.../media/platform/qcom/camss/camss-csid.c | 3 +-
.../media/platform/qcom/camss/camss-csiphy.c | 4 +-
.../media/platform/qcom/camss/camss-ispif.c | 5 +-
drivers/media/platform/qcom/camss/camss-vfe.c | 7 +-
.../media/platform/qcom/camss/camss-video.c | 17 +-
drivers/media/platform/qcom/camss/camss.c | 161 +++++++++
drivers/media/platform/qcom/camss/camss.h | 1 +
13 files changed, 801 insertions(+), 18 deletions(-)
create mode 100644 Documentation/devicetree/bindings/media/qcom,msm8974-camss.yaml



--
With best wishes
Dmitry