Skip to content

Commit

Permalink
Merge tag 'drm-msm-next-2022-09-22' of https://gitlab.freedesktop.org…
Browse files Browse the repository at this point in the history
…/drm/msm into drm-next

msm-next for v6.1

DPU:
- simplified VBIF configuration
- cleaned up CTL interfaces to accept indices rather than flush masks

DSI:
- removed unused msm_display_dsc_config struct
- switch regulator calls to new bulk API
- switched to use PANEL_BRIDGE for directly attached panels

DSI PHY:
- converted drivers to use parent_hws instead of parent_names

DP:
- cleaned up pixel_rate handling

HDMI PHY:
- turned hdmi-phy-8996 into OF clk provider

core:
- misc dt-bindings fixes
- choose eDP as primary display if it's available
- support getting interconnects from either the mdss or the mdp5/dpu
  device nodes

gpu+gem:
- Shrinker + LRU re-work:
  - adds a shared GEM LRU+shrinker helper and moves msm over to that
  - reduces lock contention between retire and submit by avoiding the
    need to acquire obj lock in retire path (and instead using resv
    seeing obj's busyness in the shrinker
  - fix reclaim vs submit issues
- GEM fault injection for triggering userspace error paths
- Map/unmap optimization
- Improved robustness for a6xx GPU recovery

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Rob Clark <robdclark@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGsrfrr9v1oR9S4oYfOs9jm=jbKQiwPBTrCRHrjYerJJFA@mail.gmail.com
  • Loading branch information
Dave Airlie committed Sep 28, 2022
2 parents d601cc9 + e8b595f commit 95d8c67
Show file tree
Hide file tree
Showing 73 changed files with 1,851 additions and 2,078 deletions.
47 changes: 41 additions & 6 deletions Documentation/devicetree/bindings/display/msm/dp-controller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ properties:
- qcom,sm8350-dp

reg:
minItems: 4
items:
- description: ahb register block
- description: aux register block
Expand Down Expand Up @@ -70,14 +71,28 @@ properties:
operating-points-v2:
maxItems: 1

opp-table: true

power-domains:
maxItems: 1

aux-bus:
$ref: /schemas/display/dp-aux-bus.yaml#

data-lanes:
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 1
maxItems: 4
items:
maximum: 3

"#sound-dai-cells":
const: 0

vdda-0p9-supply: true
vdda-1p2-supply: true
vdda-0p9-supply:
deprecated: true
vdda-1p2-supply:
deprecated: true

ports:
$ref: /schemas/graph.yaml#/properties/ports
Expand All @@ -98,10 +113,33 @@ required:
- clock-names
- phys
- phy-names
- "#sound-dai-cells"
- power-domains
- ports

allOf:
# AUX BUS does not exist on DP controllers
# Audio output also is present only on DP output
# p1 regions is present on DP, but not on eDP
- if:
properties:
compatible:
contains:
enum:
- qcom,sc7280-edp
- qcom,sc8180x-edp
then:
properties:
"#sound-dai-cells": false
reg:
maxItems: 4
else:
properties:
aux-bus: false
reg:
minItems: 5
required:
- "#sound-dai-cells"

additionalProperties: false

examples:
Expand Down Expand Up @@ -140,9 +178,6 @@ examples:
power-domains = <&rpmhpd SC7180_CX>;
vdda-0p9-supply = <&vdda_usb_ss_dp_core>;
vdda-1p2-supply = <&vdda_usb_ss_dp_1p2>;
ports {
#address-cells = <1>;
#size-cells = <0>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ patternProperties:
"^display-controller@[0-9a-f]+$":
type: object
description: Node containing the properties of DPU.
additionalProperties: false

properties:
compatible:
Expand Down Expand Up @@ -105,6 +106,9 @@ patternProperties:
maxItems: 1

operating-points-v2: true
opp-table:
type: object

ports:
$ref: /schemas/graph.yaml#/properties/ports
description: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ patternProperties:
"^display-controller@[0-9a-f]+$":
type: object
description: Node containing the properties of DPU.
additionalProperties: false

properties:
compatible:
Expand Down Expand Up @@ -113,6 +114,8 @@ patternProperties:
maxItems: 1

operating-points-v2: true
opp-table:
type: object

ports:
$ref: /schemas/graph.yaml#/properties/ports
Expand Down
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ patternProperties:
"^display-controller@[0-9a-f]+$":
type: object
description: Node containing the properties of DPU.
additionalProperties: false

properties:
compatible:
Expand Down Expand Up @@ -114,6 +115,8 @@ patternProperties:
maxItems: 1

operating-points-v2: true
opp-table:
type: object

ports:
$ref: /schemas/graph.yaml#/properties/ports
Expand Down
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ patternProperties:
"^display-controller@[0-9a-f]+$":
type: object
description: Node containing the properties of DPU.
additionalProperties: false

properties:
compatible:
Expand Down Expand Up @@ -112,6 +113,8 @@ patternProperties:
maxItems: 1

operating-points-v2: true
opp-table:
type: object

ports:
$ref: /schemas/graph.yaml#/properties/ports
Expand Down
4 changes: 4 additions & 0 deletions Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ patternProperties:
"^display-controller@[0-9a-f]+$":
type: object
description: Node containing the properties of DPU.
additionalProperties: false

properties:
compatible:
Expand Down Expand Up @@ -102,6 +103,9 @@ patternProperties:
maxItems: 1

operating-points-v2: true
opp-table:
type: object

ports:
$ref: /schemas/graph.yaml#/properties/ports
description: |
Expand Down
166 changes: 146 additions & 20 deletions Documentation/devicetree/bindings/display/msm/gmu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,35 +20,24 @@ description: |
properties:
compatible:
items:
- enum:
- qcom,adreno-gmu-630.2
- pattern: '^qcom,adreno-gmu-6[0-9][0-9]\.[0-9]$'
- const: qcom,adreno-gmu

reg:
items:
- description: Core GMU registers
- description: GMU PDC registers
- description: GMU PDC sequence registers
minItems: 3
maxItems: 4

reg-names:
items:
- const: gmu
- const: gmu_pdc
- const: gmu_pdc_seq
minItems: 3
maxItems: 4

clocks:
items:
- description: GMU clock
- description: GPU CX clock
- description: GPU AXI clock
- description: GPU MEMNOC clock
minItems: 4
maxItems: 7

clock-names:
items:
- const: gmu
- const: cxo
- const: axi
- const: memnoc
minItems: 4
maxItems: 7

interrupts:
items:
Expand Down Expand Up @@ -76,6 +65,9 @@ properties:

operating-points-v2: true

opp-table:
type: object

required:
- compatible
- reg
Expand All @@ -91,6 +83,140 @@ required:

additionalProperties: false

allOf:
- if:
properties:
compatible:
contains:
enum:
- qcom,adreno-gmu-618.0
- qcom,adreno-gmu-630.2
then:
properties:
reg:
items:
- description: Core GMU registers
- description: GMU PDC registers
- description: GMU PDC sequence registers
reg-names:
items:
- const: gmu
- const: gmu_pdc
- const: gmu_pdc_seq
clocks:
items:
- description: GMU clock
- description: GPU CX clock
- description: GPU AXI clock
- description: GPU MEMNOC clock
clock-names:
items:
- const: gmu
- const: cxo
- const: axi
- const: memnoc

- if:
properties:
compatible:
contains:
enum:
- qcom,adreno-gmu-635.0
then:
properties:
reg:
items:
- description: Core GMU registers
- description: Resource controller registers
- description: GMU PDC registers
reg-names:
items:
- const: gmu
- const: rscc
- const: gmu_pdc
clocks:
items:
- description: GMU clock
- description: GPU CX clock
- description: GPU AXI clock
- description: GPU MEMNOC clock
- description: GPU AHB clock
- description: GPU HUB CX clock
- description: GPU SMMU vote clock
clock-names:
items:
- const: gmu
- const: cxo
- const: axi
- const: memnoc
- const: ahb
- const: hub
- const: smmu_vote

- if:
properties:
compatible:
contains:
enum:
- qcom,adreno-gmu-640.1
then:
properties:
reg:
items:
- description: Core GMU registers
- description: GMU PDC registers
- description: GMU PDC sequence registers
reg-names:
items:
- const: gmu
- const: gmu_pdc
- const: gmu_pdc_seq

- if:
properties:
compatible:
contains:
enum:
- qcom,adreno-gmu-650.2
then:
properties:
reg:
items:
- description: Core GMU registers
- description: Resource controller registers
- description: GMU PDC registers
- description: GMU PDC sequence registers
reg-names:
items:
- const: gmu
- const: rscc
- const: gmu_pdc
- const: gmu_pdc_seq

- if:
properties:
compatible:
contains:
enum:
- qcom,adreno-gmu-640.1
- qcom,adreno-gmu-650.2
then:
properties:
clocks:
items:
- description: GPU AHB clock
- description: GMU clock
- description: GPU CX clock
- description: GPU AXI clock
- description: GPU MEMNOC clock
clock-names:
items:
- const: ahb
- const: gmu
- const: cxo
- const: axi
- const: memnoc

examples:
- |
#include <dt-bindings/clock/qcom,gpucc-sdm845.h>
Expand Down
3 changes: 2 additions & 1 deletion Documentation/devicetree/bindings/display/msm/gpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ properties:
- const: ocmem

iommus:
maxItems: 1
minItems: 1
maxItems: 64

sram:
$ref: /schemas/types.yaml#/definitions/phandle-array
Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/display/msm/mdp4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ properties:
maxItems: 1

iommus:
maxItems: 1
maxItems: 4

ports:
$ref: /schemas/graph.yaml#/properties/ports
Expand Down
Loading

0 comments on commit 95d8c67

Please sign in to comment.