* [PATCH V4 0/4] Enable video on sc7180 @ 2020-01-14 12:53 Dikshita Agarwal 2020-01-14 12:53 ` [PATCH V4 1/4] arm64: dts: sc7180: Add Venus video codec DT node Dikshita Agarwal ` (4 more replies) 0 siblings, 5 replies; 16+ messages in thread From: Dikshita Agarwal @ 2020-01-14 12:53 UTC (permalink / raw) To: linux-media, stanimir.varbanov, linux-arm-msm, devicetree Cc: linux-kernel, vgarodia, Dikshita Agarwal Hello, Changes since v3: - addressed DT and DT schema review comments. - renamed DT schema file. v3 can be found at [1]. These changes depend on patch series [2] - [6]. Thanks, Dikshita [1] https://lkml.org/lkml/2020/1/2/267 [2] https://patchwork.kernel.org/project/linux-media/list/?series=219021 [3] https://patchwork.kernel.org/project/linux-media/list/?series=214797 [4] https://lkml.org/lkml/2019/12/27/73 [5] https://lore.kernel.org/patchwork/project/lkml/list/?series=418681 [6] https://lore.kernel.org/patchwork/project/lkml/list/?series=424054 Dikshita Agarwal (4): arm64: dts: sc7180: Add Venus video codec DT node dt-bindings: media: venus: Add sc7180 DT schema venus: core: add sc7180 DT compatible and resource struct arm64: dts: sc7180: Add Venus firmware subnode .../bindings/media/qcom,sc7180-venus.yaml | 144 +++++++++++++++++++++ arch/arm64/boot/dts/qcom/sc7180-idp.dts | 6 + arch/arm64/boot/dts/qcom/sc7180.dtsi | 36 ++++++ drivers/media/platform/qcom/venus/core.c | 45 +++++++ 4 files changed, 231 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml -- 1.9.1 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH V4 1/4] arm64: dts: sc7180: Add Venus video codec DT node 2020-01-14 12:53 [PATCH V4 0/4] Enable video on sc7180 Dikshita Agarwal @ 2020-01-14 12:53 ` Dikshita Agarwal 2020-01-21 12:30 ` Stanimir Varbanov 2020-01-14 12:53 ` [PATCH V4 2/4] dt-bindings: media: venus: Add sc7180 DT schema Dikshita Agarwal ` (3 subsequent siblings) 4 siblings, 1 reply; 16+ messages in thread From: Dikshita Agarwal @ 2020-01-14 12:53 UTC (permalink / raw) To: linux-media, stanimir.varbanov, linux-arm-msm, devicetree Cc: linux-kernel, vgarodia, Dikshita Agarwal This adds Venus video codec DT node for sc7180. Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org> --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi index 3676bfd..6ecacca 100644 --- a/arch/arm64/boot/dts/qcom/sc7180.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi @@ -10,6 +10,7 @@ #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/phy/phy-qcom-qusb2.h> #include <dt-bindings/soc/qcom,rpmh-rsc.h> +#include <dt-bindings/clock/qcom,videocc-sc7180.h> / { interrupt-parent = <&intc>; @@ -66,6 +67,11 @@ compatible = "qcom,cmd-db"; no-map; }; + + venus_mem: memory@8f600000 { + reg = <0 0x8f600000 0 0x500000>; + no-map; + }; }; cpus { @@ -1043,6 +1049,36 @@ }; }; + venus: video-codec@aa00000 { + compatible = "qcom,sc7180-venus"; + reg = <0 0x0aa00000 0 0xff000>; + interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; + power-domains = <&videocc VENUS_GDSC>, + <&videocc VCODEC0_GDSC>; + power-domain-names = "venus", "vcodec0"; + clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, + <&videocc VIDEO_CC_VENUS_AHB_CLK>, + <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>, + <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, + <&videocc VIDEO_CC_VCODEC0_AXI_CLK>; + clock-names = "core", "iface", "bus", + "vcodec0_core", "vcodec0_bus"; + iommus = <&apps_smmu 0x0c00 0x60>; + memory-region = <&venus_mem>; + + interconnects = <&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI1>, + <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_VENUS_CFG>; + interconnect-names = "video-mem", "cpu-cfg"; + + video-decoder { + compatible = "venus-decoder"; + }; + + video-encoder { + compatible = "venus-encoder"; + }; + }; + pdc: interrupt-controller@b220000 { compatible = "qcom,sc7180-pdc", "qcom,pdc"; reg = <0 0x0b220000 0 0x30000>; -- 1.9.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH V4 1/4] arm64: dts: sc7180: Add Venus video codec DT node 2020-01-14 12:53 ` [PATCH V4 1/4] arm64: dts: sc7180: Add Venus video codec DT node Dikshita Agarwal @ 2020-01-21 12:30 ` Stanimir Varbanov 0 siblings, 0 replies; 16+ messages in thread From: Stanimir Varbanov @ 2020-01-21 12:30 UTC (permalink / raw) To: Dikshita Agarwal, linux-media, stanimir.varbanov, linux-arm-msm, devicetree Cc: linux-kernel, vgarodia Hi, On 1/14/20 2:53 PM, Dikshita Agarwal wrote: > This adds Venus video codec DT node for sc7180. > > Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org> > --- > arch/arm64/boot/dts/qcom/sc7180.dtsi | 36 ++++++++++++++++++++++++++++++++++++ > 1 file changed, 36 insertions(+) Reviewed-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> > > diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi > index 3676bfd..6ecacca 100644 > --- a/arch/arm64/boot/dts/qcom/sc7180.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi > @@ -10,6 +10,7 @@ > #include <dt-bindings/interrupt-controller/arm-gic.h> > #include <dt-bindings/phy/phy-qcom-qusb2.h> > #include <dt-bindings/soc/qcom,rpmh-rsc.h> > +#include <dt-bindings/clock/qcom,videocc-sc7180.h> > > / { > interrupt-parent = <&intc>; > @@ -66,6 +67,11 @@ > compatible = "qcom,cmd-db"; > no-map; > }; > + > + venus_mem: memory@8f600000 { > + reg = <0 0x8f600000 0 0x500000>; > + no-map; > + }; > }; > > cpus { > @@ -1043,6 +1049,36 @@ > }; > }; > > + venus: video-codec@aa00000 { > + compatible = "qcom,sc7180-venus"; > + reg = <0 0x0aa00000 0 0xff000>; > + interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; > + power-domains = <&videocc VENUS_GDSC>, > + <&videocc VCODEC0_GDSC>; > + power-domain-names = "venus", "vcodec0"; > + clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, > + <&videocc VIDEO_CC_VENUS_AHB_CLK>, > + <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>, > + <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, > + <&videocc VIDEO_CC_VCODEC0_AXI_CLK>; > + clock-names = "core", "iface", "bus", > + "vcodec0_core", "vcodec0_bus"; > + iommus = <&apps_smmu 0x0c00 0x60>; > + memory-region = <&venus_mem>; > + > + interconnects = <&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI1>, > + <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_VENUS_CFG>; > + interconnect-names = "video-mem", "cpu-cfg"; > + > + video-decoder { > + compatible = "venus-decoder"; > + }; > + > + video-encoder { > + compatible = "venus-encoder"; > + }; > + }; > + > pdc: interrupt-controller@b220000 { > compatible = "qcom,sc7180-pdc", "qcom,pdc"; > reg = <0 0x0b220000 0 0x30000>; > -- regards, Stan ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH V4 2/4] dt-bindings: media: venus: Add sc7180 DT schema 2020-01-14 12:53 [PATCH V4 0/4] Enable video on sc7180 Dikshita Agarwal 2020-01-14 12:53 ` [PATCH V4 1/4] arm64: dts: sc7180: Add Venus video codec DT node Dikshita Agarwal @ 2020-01-14 12:53 ` Dikshita Agarwal 2020-01-30 15:26 ` Rob Herring 2020-02-14 15:23 ` Stanimir Varbanov 2020-01-14 12:53 ` [PATCH V4 3/4] venus: core: add sc7180 DT compatible and resource struct Dikshita Agarwal ` (2 subsequent siblings) 4 siblings, 2 replies; 16+ messages in thread From: Dikshita Agarwal @ 2020-01-14 12:53 UTC (permalink / raw) To: linux-media, stanimir.varbanov, linux-arm-msm, devicetree Cc: linux-kernel, vgarodia, Dikshita Agarwal Add new qcom,sc7180-venus DT binding schema. Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> --- .../bindings/media/qcom,sc7180-venus.yaml | 144 +++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml diff --git a/Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml b/Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml new file mode 100644 index 0000000..7b6a8fb --- /dev/null +++ b/Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml @@ -0,0 +1,144 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) + +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/media/qcom,sc7180-venus.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Qualcomm Venus video encode and decode accelerators + +maintainers: + - Stanimir Varbanov <stanimir.varbanov@linaro.org> + +description: | + The Venus IP is a video encode and decode accelerator present + on Qualcomm platforms + +properties: + compatible: + const: qcom,sc7180-venus + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 2 + + power-domain-names: + items: + - const: venus + - const: vcodec0 + + clocks: + maxItems: 5 + + clock-names: + items: + - const: core + - const: iface + - const: bus + - const: vcodec0_core + - const: vcodec0_bus + + iommus: + maxItems: 1 + + memory-region: + maxItems: 1 + + interconnects: + maxItems: 2 + + interconnect-names: + items: + - const: video-mem + - const: cpu-cfg + + video-decoder: + type: object + + properties: + compatible: + const: venus-decoder + + required: + - compatible + + additionalProperties: false + + video-encoder: + type: object + + properties: + compatible: + const: venus-encoder + + required: + - compatible + + additionalProperties: false + + video-firmware: + type: object + + description: | + Firmware subnode is needed when the platform does not + have TrustZone. + + properties: + iommus: + maxItems: 1 + + required: + - iommus + +required: + - compatible + - reg + - interrupts + - power-domains + - power-domain-names + - clocks + - clock-names + - iommus + - memory-region + - video-decoder + - video-encoder + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/clock/qcom,videocc-sc7180.h> + + venus: video-codec@aa00000 { + compatible = "qcom,sc7180-venus"; + reg = <0 0x0aa00000 0 0xff000>; + interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; + power-domains = <&videocc VENUS_GDSC>, + <&videocc VCODEC0_GDSC>; + power-domain-names = "venus", "vcodec0"; + clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, + <&videocc VIDEO_CC_VENUS_AHB_CLK>, + <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>, + <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, + <&videocc VIDEO_CC_VCODEC0_AXI_CLK>; + clock-names = "core", "iface", "bus", + "vcodec0_core", "vcodec0_bus"; + iommus = <&apps_smmu 0x0c00 0x60>; + memory-region = <&venus_mem>; + + interconnects = <&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI1>, + <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_VENUS_CFG>; + interconnect-names = "video-mem", "cpu-cfg"; + + video-decoder { + compatible = "venus-decoder"; + }; + + video-encoder { + compatible = "venus-encoder"; + }; + }; -- 1.9.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH V4 2/4] dt-bindings: media: venus: Add sc7180 DT schema 2020-01-14 12:53 ` [PATCH V4 2/4] dt-bindings: media: venus: Add sc7180 DT schema Dikshita Agarwal @ 2020-01-30 15:26 ` Rob Herring 2020-02-14 15:23 ` Stanimir Varbanov 1 sibling, 0 replies; 16+ messages in thread From: Rob Herring @ 2020-01-30 15:26 UTC (permalink / raw) To: Dikshita Agarwal Cc: Linux Media Mailing List, Stanimir Varbanov, linux-arm-msm, devicetree, linux-kernel, Vikash Garodia On Tue, Jan 14, 2020 at 6:54 AM Dikshita Agarwal <dikshita@codeaurora.org> wrote: > > Add new qcom,sc7180-venus DT binding schema. > > Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org> > Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> > --- > .../bindings/media/qcom,sc7180-venus.yaml | 144 +++++++++++++++++++++ > 1 file changed, 144 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml Reviewed-by: Rob Herring <robh@kernel.org> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V4 2/4] dt-bindings: media: venus: Add sc7180 DT schema 2020-01-14 12:53 ` [PATCH V4 2/4] dt-bindings: media: venus: Add sc7180 DT schema Dikshita Agarwal 2020-01-30 15:26 ` Rob Herring @ 2020-02-14 15:23 ` Stanimir Varbanov 1 sibling, 0 replies; 16+ messages in thread From: Stanimir Varbanov @ 2020-02-14 15:23 UTC (permalink / raw) To: Dikshita Agarwal, linux-media, stanimir.varbanov, linux-arm-msm, devicetree Cc: linux-kernel, vgarodia Hi, I'll merge this through media tree but will drop interconnect properties from example cause of failing make dt_binding_check. We will add interconnect properties later on once the sc7180 interconnect driver is merged. On 1/14/20 2:53 PM, Dikshita Agarwal wrote: > Add new qcom,sc7180-venus DT binding schema. > > Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org> > Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> > --- > .../bindings/media/qcom,sc7180-venus.yaml | 144 +++++++++++++++++++++ > 1 file changed, 144 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml > > diff --git a/Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml b/Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml > new file mode 100644 > index 0000000..7b6a8fb > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml > @@ -0,0 +1,144 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > + > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/media/qcom,sc7180-venus.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: Qualcomm Venus video encode and decode accelerators > + > +maintainers: > + - Stanimir Varbanov <stanimir.varbanov@linaro.org> > + > +description: | > + The Venus IP is a video encode and decode accelerator present > + on Qualcomm platforms > + > +properties: > + compatible: > + const: qcom,sc7180-venus > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + maxItems: 2 > + > + power-domain-names: > + items: > + - const: venus > + - const: vcodec0 > + > + clocks: > + maxItems: 5 > + > + clock-names: > + items: > + - const: core > + - const: iface > + - const: bus > + - const: vcodec0_core > + - const: vcodec0_bus > + > + iommus: > + maxItems: 1 > + > + memory-region: > + maxItems: 1 > + > + interconnects: > + maxItems: 2 > + > + interconnect-names: > + items: > + - const: video-mem > + - const: cpu-cfg > + > + video-decoder: > + type: object > + > + properties: > + compatible: > + const: venus-decoder > + > + required: > + - compatible > + > + additionalProperties: false > + > + video-encoder: > + type: object > + > + properties: > + compatible: > + const: venus-encoder > + > + required: > + - compatible > + > + additionalProperties: false > + > + video-firmware: > + type: object > + > + description: | > + Firmware subnode is needed when the platform does not > + have TrustZone. > + > + properties: > + iommus: > + maxItems: 1 > + > + required: > + - iommus > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - power-domain-names > + - clocks > + - clock-names > + - iommus > + - memory-region > + - video-decoder > + - video-encoder > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/clock/qcom,videocc-sc7180.h> > + > + venus: video-codec@aa00000 { > + compatible = "qcom,sc7180-venus"; > + reg = <0 0x0aa00000 0 0xff000>; > + interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; > + power-domains = <&videocc VENUS_GDSC>, > + <&videocc VCODEC0_GDSC>; > + power-domain-names = "venus", "vcodec0"; > + clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, > + <&videocc VIDEO_CC_VENUS_AHB_CLK>, > + <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>, > + <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, > + <&videocc VIDEO_CC_VCODEC0_AXI_CLK>; > + clock-names = "core", "iface", "bus", > + "vcodec0_core", "vcodec0_bus"; > + iommus = <&apps_smmu 0x0c00 0x60>; > + memory-region = <&venus_mem>; > + >>>> > + interconnects = <&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI1>, > + <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_VENUS_CFG>; > + interconnect-names = "video-mem", "cpu-cfg"; <<<< > + > + video-decoder { > + compatible = "venus-decoder"; > + }; > + > + video-encoder { > + compatible = "venus-encoder"; > + }; > + }; > -- regards, Stan ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH V4 3/4] venus: core: add sc7180 DT compatible and resource struct 2020-01-14 12:53 [PATCH V4 0/4] Enable video on sc7180 Dikshita Agarwal 2020-01-14 12:53 ` [PATCH V4 1/4] arm64: dts: sc7180: Add Venus video codec DT node Dikshita Agarwal 2020-01-14 12:53 ` [PATCH V4 2/4] dt-bindings: media: venus: Add sc7180 DT schema Dikshita Agarwal @ 2020-01-14 12:53 ` Dikshita Agarwal 2020-01-21 12:32 ` Stanimir Varbanov 2020-01-14 12:53 ` [PATCH V4 4/4] arm64: dts: sc7180: Add Venus firmware subnode Dikshita Agarwal 2020-02-03 18:02 ` [PATCH V4 0/4] Enable video on sc7180 Bjorn Andersson 4 siblings, 1 reply; 16+ messages in thread From: Dikshita Agarwal @ 2020-01-14 12:53 UTC (permalink / raw) To: linux-media, stanimir.varbanov, linux-arm-msm, devicetree Cc: linux-kernel, vgarodia, Dikshita Agarwal This add DT compatible string and resource structure for sc7180. Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org> --- drivers/media/platform/qcom/venus/core.c | 45 ++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c index c7525d9..194b10b9 100644 --- a/drivers/media/platform/qcom/venus/core.c +++ b/drivers/media/platform/qcom/venus/core.c @@ -521,11 +521,56 @@ static __maybe_unused int venus_runtime_resume(struct device *dev) .fwname = "qcom/venus-5.2/venus.mdt", }; +static const struct freq_tbl sc7180_freq_table[] = { + { 0, 500000000 }, + { 0, 434000000 }, + { 0, 340000000 }, + { 0, 270000000 }, + { 0, 150000000 }, +}; + +static const struct bw_tbl sc7180_bw_table_enc[] = { + { 972000, 750000, 0, 0, 0 }, /* 3840x2160@30 */ + { 489600, 451000, 0, 0, 0 }, /* 1920x1080@60 */ + { 244800, 234000, 0, 0, 0 }, /* 1920x1080@30 */ +}; + +static const struct bw_tbl sc7180_bw_table_dec[] = { + { 1036800, 1386000, 0, 1875000, 0 }, /* 4096x2160@30 */ + { 489600, 865000, 0, 1146000, 0 }, /* 1920x1080@60 */ + { 244800, 530000, 0, 583000, 0 }, /* 1920x1080@30 */ +}; + +static const struct venus_resources sc7180_res = { + .freq_tbl = sc7180_freq_table, + .freq_tbl_size = ARRAY_SIZE(sc7180_freq_table), + .bw_tbl_enc = sc7180_bw_table_enc, + .bw_tbl_enc_size = ARRAY_SIZE(sc7180_bw_table_enc), + .bw_tbl_dec = sc7180_bw_table_dec, + .bw_tbl_dec_size = ARRAY_SIZE(sc7180_bw_table_dec), + .codec_freq_data = sdm845_codec_freq_data, + .codec_freq_data_size = ARRAY_SIZE(sdm845_codec_freq_data), + .clks = {"core", "iface", "bus" }, + .clks_num = 3, + .vcodec0_clks = { "vcodec0_core", "vcodec0_bus" }, + .vcodec_clks_num = 2, + .vcodec_pmdomains = { "venus", "vcodec0" }, + .vcodec_pmdomains_num = 2, + .vcodec_num = 1, + .hfi_version = HFI_VERSION_4XX, + .vmem_id = VIDC_RESOURCE_NONE, + .vmem_size = 0, + .vmem_addr = 0, + .dma_mask = 0xe0000000 - 1, + .fwname = "qcom/venus-5.4/venus.mdt", +}; + static const struct of_device_id venus_dt_match[] = { { .compatible = "qcom,msm8916-venus", .data = &msm8916_res, }, { .compatible = "qcom,msm8996-venus", .data = &msm8996_res, }, { .compatible = "qcom,sdm845-venus", .data = &sdm845_res, }, { .compatible = "qcom,sdm845-venus-v2", .data = &sdm845_res_v2, }, + { .compatible = "qcom,sc7180-venus", .data = &sc7180_res, }, { } }; MODULE_DEVICE_TABLE(of, venus_dt_match); -- 1.9.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH V4 3/4] venus: core: add sc7180 DT compatible and resource struct 2020-01-14 12:53 ` [PATCH V4 3/4] venus: core: add sc7180 DT compatible and resource struct Dikshita Agarwal @ 2020-01-21 12:32 ` Stanimir Varbanov 0 siblings, 0 replies; 16+ messages in thread From: Stanimir Varbanov @ 2020-01-21 12:32 UTC (permalink / raw) To: Dikshita Agarwal, linux-media, stanimir.varbanov, linux-arm-msm, devicetree Cc: linux-kernel, vgarodia Hi, On 1/14/20 2:53 PM, Dikshita Agarwal wrote: > This add DT compatible string and resource structure for sc7180. > > Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org> > --- > drivers/media/platform/qcom/venus/core.c | 45 ++++++++++++++++++++++++++++++++ > 1 file changed, 45 insertions(+) Acked-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index c7525d9..194b10b9 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -521,11 +521,56 @@ static __maybe_unused int venus_runtime_resume(struct device *dev) > .fwname = "qcom/venus-5.2/venus.mdt", > }; > > +static const struct freq_tbl sc7180_freq_table[] = { > + { 0, 500000000 }, > + { 0, 434000000 }, > + { 0, 340000000 }, > + { 0, 270000000 }, > + { 0, 150000000 }, > +}; > + > +static const struct bw_tbl sc7180_bw_table_enc[] = { > + { 972000, 750000, 0, 0, 0 }, /* 3840x2160@30 */ > + { 489600, 451000, 0, 0, 0 }, /* 1920x1080@60 */ > + { 244800, 234000, 0, 0, 0 }, /* 1920x1080@30 */ > +}; > + > +static const struct bw_tbl sc7180_bw_table_dec[] = { > + { 1036800, 1386000, 0, 1875000, 0 }, /* 4096x2160@30 */ > + { 489600, 865000, 0, 1146000, 0 }, /* 1920x1080@60 */ > + { 244800, 530000, 0, 583000, 0 }, /* 1920x1080@30 */ > +}; > + > +static const struct venus_resources sc7180_res = { > + .freq_tbl = sc7180_freq_table, > + .freq_tbl_size = ARRAY_SIZE(sc7180_freq_table), > + .bw_tbl_enc = sc7180_bw_table_enc, > + .bw_tbl_enc_size = ARRAY_SIZE(sc7180_bw_table_enc), > + .bw_tbl_dec = sc7180_bw_table_dec, > + .bw_tbl_dec_size = ARRAY_SIZE(sc7180_bw_table_dec), > + .codec_freq_data = sdm845_codec_freq_data, > + .codec_freq_data_size = ARRAY_SIZE(sdm845_codec_freq_data), > + .clks = {"core", "iface", "bus" }, > + .clks_num = 3, > + .vcodec0_clks = { "vcodec0_core", "vcodec0_bus" }, > + .vcodec_clks_num = 2, > + .vcodec_pmdomains = { "venus", "vcodec0" }, > + .vcodec_pmdomains_num = 2, > + .vcodec_num = 1, > + .hfi_version = HFI_VERSION_4XX, > + .vmem_id = VIDC_RESOURCE_NONE, > + .vmem_size = 0, > + .vmem_addr = 0, > + .dma_mask = 0xe0000000 - 1, > + .fwname = "qcom/venus-5.4/venus.mdt", > +}; > + > static const struct of_device_id venus_dt_match[] = { > { .compatible = "qcom,msm8916-venus", .data = &msm8916_res, }, > { .compatible = "qcom,msm8996-venus", .data = &msm8996_res, }, > { .compatible = "qcom,sdm845-venus", .data = &sdm845_res, }, > { .compatible = "qcom,sdm845-venus-v2", .data = &sdm845_res_v2, }, > + { .compatible = "qcom,sc7180-venus", .data = &sc7180_res, }, > { } > }; > MODULE_DEVICE_TABLE(of, venus_dt_match); > -- regards, Stan ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH V4 4/4] arm64: dts: sc7180: Add Venus firmware subnode 2020-01-14 12:53 [PATCH V4 0/4] Enable video on sc7180 Dikshita Agarwal ` (2 preceding siblings ...) 2020-01-14 12:53 ` [PATCH V4 3/4] venus: core: add sc7180 DT compatible and resource struct Dikshita Agarwal @ 2020-01-14 12:53 ` Dikshita Agarwal 2020-01-21 12:32 ` Stanimir Varbanov 2020-02-03 18:02 ` [PATCH V4 0/4] Enable video on sc7180 Bjorn Andersson 4 siblings, 1 reply; 16+ messages in thread From: Dikshita Agarwal @ 2020-01-14 12:53 UTC (permalink / raw) To: linux-media, stanimir.varbanov, linux-arm-msm, devicetree Cc: linux-kernel, vgarodia, Dikshita Agarwal This adds Venus firmware subnode for non-TZ platform. Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org> --- arch/arm64/boot/dts/qcom/sc7180-idp.dts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180-idp.dts b/arch/arm64/boot/dts/qcom/sc7180-idp.dts index 388f50a..2f82510 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-idp.dts +++ b/arch/arm64/boot/dts/qcom/sc7180-idp.dts @@ -287,6 +287,12 @@ vdda-pll-supply = <&vreg_l4a_0p8>; }; +&venus { + video-firmware { + iommus = <&apps_smmu 0x0c42 0x0>; + }; +}; + /* PINCTRL - additions to nodes defined in sc7180.dtsi */ &qspi_clk { -- 1.9.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH V4 4/4] arm64: dts: sc7180: Add Venus firmware subnode 2020-01-14 12:53 ` [PATCH V4 4/4] arm64: dts: sc7180: Add Venus firmware subnode Dikshita Agarwal @ 2020-01-21 12:32 ` Stanimir Varbanov 0 siblings, 0 replies; 16+ messages in thread From: Stanimir Varbanov @ 2020-01-21 12:32 UTC (permalink / raw) To: Dikshita Agarwal, linux-media, stanimir.varbanov, linux-arm-msm, devicetree Cc: linux-kernel, vgarodia Hi, On 1/14/20 2:53 PM, Dikshita Agarwal wrote: > This adds Venus firmware subnode for non-TZ platform. > > Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org> > --- > arch/arm64/boot/dts/qcom/sc7180-idp.dts | 6 ++++++ > 1 file changed, 6 insertions(+) Reviewed-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> > > diff --git a/arch/arm64/boot/dts/qcom/sc7180-idp.dts b/arch/arm64/boot/dts/qcom/sc7180-idp.dts > index 388f50a..2f82510 100644 > --- a/arch/arm64/boot/dts/qcom/sc7180-idp.dts > +++ b/arch/arm64/boot/dts/qcom/sc7180-idp.dts > @@ -287,6 +287,12 @@ > vdda-pll-supply = <&vreg_l4a_0p8>; > }; > > +&venus { > + video-firmware { > + iommus = <&apps_smmu 0x0c42 0x0>; > + }; > +}; > + > /* PINCTRL - additions to nodes defined in sc7180.dtsi */ > > &qspi_clk { > -- regards, Stan ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V4 0/4] Enable video on sc7180 2020-01-14 12:53 [PATCH V4 0/4] Enable video on sc7180 Dikshita Agarwal ` (3 preceding siblings ...) 2020-01-14 12:53 ` [PATCH V4 4/4] arm64: dts: sc7180: Add Venus firmware subnode Dikshita Agarwal @ 2020-02-03 18:02 ` Bjorn Andersson 2020-02-13 18:53 ` Matthias Kaehlcke 4 siblings, 1 reply; 16+ messages in thread From: Bjorn Andersson @ 2020-02-03 18:02 UTC (permalink / raw) To: Dikshita Agarwal Cc: linux-media, stanimir.varbanov, linux-arm-msm, devicetree, linux-kernel, vgarodia On Tue 14 Jan 04:53 PST 2020, Dikshita Agarwal wrote: > Hello, > > Changes since v3: > > - addressed DT and DT schema review comments. > > - renamed DT schema file. > > v3 can be found at [1]. > These changes depend on patch series [2] - [6]. > > Thanks, > Dikshita > Picked up the dts patches for 5.7, with Stan's acks Regards, Bjorn > [1] https://lkml.org/lkml/2020/1/2/267 > [2] https://patchwork.kernel.org/project/linux-media/list/?series=219021 > [3] https://patchwork.kernel.org/project/linux-media/list/?series=214797 > [4] https://lkml.org/lkml/2019/12/27/73 > [5] https://lore.kernel.org/patchwork/project/lkml/list/?series=418681 > [6] https://lore.kernel.org/patchwork/project/lkml/list/?series=424054 > > Dikshita Agarwal (4): > arm64: dts: sc7180: Add Venus video codec DT node > dt-bindings: media: venus: Add sc7180 DT schema > venus: core: add sc7180 DT compatible and resource struct > arm64: dts: sc7180: Add Venus firmware subnode > > .../bindings/media/qcom,sc7180-venus.yaml | 144 +++++++++++++++++++++ > arch/arm64/boot/dts/qcom/sc7180-idp.dts | 6 + > arch/arm64/boot/dts/qcom/sc7180.dtsi | 36 ++++++ > drivers/media/platform/qcom/venus/core.c | 45 +++++++ > 4 files changed, 231 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml > > -- > 1.9.1 > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V4 0/4] Enable video on sc7180 2020-02-03 18:02 ` [PATCH V4 0/4] Enable video on sc7180 Bjorn Andersson @ 2020-02-13 18:53 ` Matthias Kaehlcke 2020-02-13 19:26 ` Bjorn Andersson 0 siblings, 1 reply; 16+ messages in thread From: Matthias Kaehlcke @ 2020-02-13 18:53 UTC (permalink / raw) To: Bjorn Andersson Cc: Dikshita Agarwal, linux-media, stanimir.varbanov, linux-arm-msm, devicetree, linux-kernel, vgarodia Hi Bjorn, On Mon, Feb 03, 2020 at 10:02:40AM -0800, Bjorn Andersson wrote: > On Tue 14 Jan 04:53 PST 2020, Dikshita Agarwal wrote: > > > Hello, > > > > Changes since v3: > > > > - addressed DT and DT schema review comments. > > > > - renamed DT schema file. > > > > v3 can be found at [1]. > > These changes depend on patch series [2] - [6]. > > > > Thanks, > > Dikshita > > > > Picked up the dts patches for 5.7, with Stan's acks I can't seem to find the patches in the QCOM repo, neither in 'arm64-for-5.7' nor 'for-next'. Am I looking at the wrong place or maybe you forget to push these? Thanks Matthias ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V4 0/4] Enable video on sc7180 2020-02-13 18:53 ` Matthias Kaehlcke @ 2020-02-13 19:26 ` Bjorn Andersson 2020-02-13 19:34 ` Matthias Kaehlcke 2020-02-13 19:57 ` Matthias Kaehlcke 0 siblings, 2 replies; 16+ messages in thread From: Bjorn Andersson @ 2020-02-13 19:26 UTC (permalink / raw) To: Matthias Kaehlcke Cc: Dikshita Agarwal, linux-media, stanimir.varbanov, linux-arm-msm, devicetree, linux-kernel, vgarodia On Thu 13 Feb 10:53 PST 2020, Matthias Kaehlcke wrote: > Hi Bjorn, > > On Mon, Feb 03, 2020 at 10:02:40AM -0800, Bjorn Andersson wrote: > > On Tue 14 Jan 04:53 PST 2020, Dikshita Agarwal wrote: > > > > > Hello, > > > > > > Changes since v3: > > > > > > - addressed DT and DT schema review comments. > > > > > > - renamed DT schema file. > > > > > > v3 can be found at [1]. > > > These changes depend on patch series [2] - [6]. > > > > > > Thanks, > > > Dikshita > > > > > > > Picked up the dts patches for 5.7, with Stan's acks > > I can't seem to find the patches in the QCOM repo, neither in > 'arm64-for-5.7' nor 'for-next'. Am I looking at the wrong place or > maybe you forget to push these? > Thanks for the question Matthias, I was looking for this email as I rebased onto v5.6-rc1 earlier this week, but got distracted. I pulled them in, but in the rebase I realized that we don't have the interconnects in place, so in it's current form these patches doesn't compile. Seems we're waiting for rather trivial respin of https://lore.kernel.org/linux-arm-msm/1577782737-32068-1-git-send-email-okukatla@codeaurora.org/ to get this settled. Regards, Bjorn ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V4 0/4] Enable video on sc7180 2020-02-13 19:26 ` Bjorn Andersson @ 2020-02-13 19:34 ` Matthias Kaehlcke 2020-02-13 19:57 ` Matthias Kaehlcke 1 sibling, 0 replies; 16+ messages in thread From: Matthias Kaehlcke @ 2020-02-13 19:34 UTC (permalink / raw) To: Bjorn Andersson Cc: Dikshita Agarwal, linux-media, stanimir.varbanov, linux-arm-msm, devicetree, linux-kernel, vgarodia On Thu, Feb 13, 2020 at 11:26:27AM -0800, Bjorn Andersson wrote: > On Thu 13 Feb 10:53 PST 2020, Matthias Kaehlcke wrote: > > > Hi Bjorn, > > > > On Mon, Feb 03, 2020 at 10:02:40AM -0800, Bjorn Andersson wrote: > > > On Tue 14 Jan 04:53 PST 2020, Dikshita Agarwal wrote: > > > > > > > Hello, > > > > > > > > Changes since v3: > > > > > > > > - addressed DT and DT schema review comments. > > > > > > > > - renamed DT schema file. > > > > > > > > v3 can be found at [1]. > > > > These changes depend on patch series [2] - [6]. > > > > > > > > Thanks, > > > > Dikshita > > > > > > > > > > Picked up the dts patches for 5.7, with Stan's acks > > > > I can't seem to find the patches in the QCOM repo, neither in > > 'arm64-for-5.7' nor 'for-next'. Am I looking at the wrong place or > > maybe you forget to push these? > > > > Thanks for the question Matthias, I was looking for this email as I > rebased onto v5.6-rc1 earlier this week, but got distracted. > > I pulled them in, but in the rebase I realized that we don't have the > interconnects in place, so in it's current form these patches doesn't > compile. Now that you say it, I also stumbled across this at some point ... > Seems we're waiting for rather trivial respin of > https://lore.kernel.org/linux-arm-msm/1577782737-32068-1-git-send-email-okukatla@codeaurora.org/ > to get this settled. Thanks for the clarification! ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V4 0/4] Enable video on sc7180 2020-02-13 19:26 ` Bjorn Andersson 2020-02-13 19:34 ` Matthias Kaehlcke @ 2020-02-13 19:57 ` Matthias Kaehlcke 2020-02-13 20:12 ` Bjorn Andersson 1 sibling, 1 reply; 16+ messages in thread From: Matthias Kaehlcke @ 2020-02-13 19:57 UTC (permalink / raw) To: Bjorn Andersson Cc: Dikshita Agarwal, linux-media, stanimir.varbanov, linux-arm-msm, devicetree, linux-kernel, vgarodia, Odelu Kukatla On Thu, Feb 13, 2020 at 11:26:27AM -0800, Bjorn Andersson wrote: > On Thu 13 Feb 10:53 PST 2020, Matthias Kaehlcke wrote: > > > Hi Bjorn, > > > > On Mon, Feb 03, 2020 at 10:02:40AM -0800, Bjorn Andersson wrote: > > > On Tue 14 Jan 04:53 PST 2020, Dikshita Agarwal wrote: > > > > > > > Hello, > > > > > > > > Changes since v3: > > > > > > > > - addressed DT and DT schema review comments. > > > > > > > > - renamed DT schema file. > > > > > > > > v3 can be found at [1]. > > > > These changes depend on patch series [2] - [6]. > > > > > > > > Thanks, > > > > Dikshita > > > > > > > > > > Picked up the dts patches for 5.7, with Stan's acks > > > > I can't seem to find the patches in the QCOM repo, neither in > > 'arm64-for-5.7' nor 'for-next'. Am I looking at the wrong place or > > maybe you forget to push these? > > > > Thanks for the question Matthias, I was looking for this email as I > rebased onto v5.6-rc1 earlier this week, but got distracted. > > I pulled them in, but in the rebase I realized that we don't have the > interconnects in place, so in it's current form these patches doesn't > compile. > > Seems we're waiting for rather trivial respin of > https://lore.kernel.org/linux-arm-msm/1577782737-32068-1-git-send-email-okukatla@codeaurora.org/ > to get this settled. Hm, there has been no response to the comments in more than a month, also the series depends on another ('Split SDM845 interconnect nodes and consolidate RPMh support' https://patchwork.kernel.org/project/linux-arm-msm/list/?series=238831), even though that isn't mentioned anywhere. IIUC the interconnect configuration isn't strictly required to get the video codec to work. I wonder if it would make sense to respin this series to remove the interconnect properties. They could be added in a separate patch after the ICC support has landed. Dikshita/Bjorn, what do you think? ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V4 0/4] Enable video on sc7180 2020-02-13 19:57 ` Matthias Kaehlcke @ 2020-02-13 20:12 ` Bjorn Andersson 0 siblings, 0 replies; 16+ messages in thread From: Bjorn Andersson @ 2020-02-13 20:12 UTC (permalink / raw) To: Matthias Kaehlcke Cc: Dikshita Agarwal, linux-media, stanimir.varbanov, linux-arm-msm, devicetree, linux-kernel, vgarodia, Odelu Kukatla On Thu 13 Feb 11:57 PST 2020, Matthias Kaehlcke wrote: > On Thu, Feb 13, 2020 at 11:26:27AM -0800, Bjorn Andersson wrote: > > On Thu 13 Feb 10:53 PST 2020, Matthias Kaehlcke wrote: > > > > > Hi Bjorn, > > > > > > On Mon, Feb 03, 2020 at 10:02:40AM -0800, Bjorn Andersson wrote: > > > > On Tue 14 Jan 04:53 PST 2020, Dikshita Agarwal wrote: > > > > > > > > > Hello, > > > > > > > > > > Changes since v3: > > > > > > > > > > - addressed DT and DT schema review comments. > > > > > > > > > > - renamed DT schema file. > > > > > > > > > > v3 can be found at [1]. > > > > > These changes depend on patch series [2] - [6]. > > > > > > > > > > Thanks, > > > > > Dikshita > > > > > > > > > > > > > Picked up the dts patches for 5.7, with Stan's acks > > > > > > I can't seem to find the patches in the QCOM repo, neither in > > > 'arm64-for-5.7' nor 'for-next'. Am I looking at the wrong place or > > > maybe you forget to push these? > > > > > > > Thanks for the question Matthias, I was looking for this email as I > > rebased onto v5.6-rc1 earlier this week, but got distracted. > > > > I pulled them in, but in the rebase I realized that we don't have the > > interconnects in place, so in it's current form these patches doesn't > > compile. > > > > Seems we're waiting for rather trivial respin of > > https://lore.kernel.org/linux-arm-msm/1577782737-32068-1-git-send-email-okukatla@codeaurora.org/ > > to get this settled. > > Hm, there has been no response to the comments in more than a month, also > the series depends on another ('Split SDM845 interconnect nodes and > consolidate RPMh support' https://patchwork.kernel.org/project/linux-arm-msm/list/?series=238831), > even though that isn't mentioned anywhere. > Sibi is revisiting David's 845 series, so my expectation is that it will land in this cycle. > IIUC the interconnect configuration isn't strictly required to get the > video codec to work. I wonder if it would make sense to respin this > series to remove the interconnect properties. They could be added in a > separate patch after the ICC support has landed. > > Dikshita/Bjorn, what do you think? That sounds likely. Dikshita, can you confirm that we can just omit the interconnect lines from the patch and I'll just apply the patches again without these (and you can follow up with adding interconnects later). Regards, Bjorn ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2020-02-14 15:23 UTC | newest] Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-01-14 12:53 [PATCH V4 0/4] Enable video on sc7180 Dikshita Agarwal 2020-01-14 12:53 ` [PATCH V4 1/4] arm64: dts: sc7180: Add Venus video codec DT node Dikshita Agarwal 2020-01-21 12:30 ` Stanimir Varbanov 2020-01-14 12:53 ` [PATCH V4 2/4] dt-bindings: media: venus: Add sc7180 DT schema Dikshita Agarwal 2020-01-30 15:26 ` Rob Herring 2020-02-14 15:23 ` Stanimir Varbanov 2020-01-14 12:53 ` [PATCH V4 3/4] venus: core: add sc7180 DT compatible and resource struct Dikshita Agarwal 2020-01-21 12:32 ` Stanimir Varbanov 2020-01-14 12:53 ` [PATCH V4 4/4] arm64: dts: sc7180: Add Venus firmware subnode Dikshita Agarwal 2020-01-21 12:32 ` Stanimir Varbanov 2020-02-03 18:02 ` [PATCH V4 0/4] Enable video on sc7180 Bjorn Andersson 2020-02-13 18:53 ` Matthias Kaehlcke 2020-02-13 19:26 ` Bjorn Andersson 2020-02-13 19:34 ` Matthias Kaehlcke 2020-02-13 19:57 ` Matthias Kaehlcke 2020-02-13 20:12 ` Bjorn Andersson
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).