Skip to content
Unverified Commit 87ebcd42 authored by Maxime Ripard's avatar Maxime Ripard
Browse files

drm/vc4: crtc: Assign output to channel automatically



The HVS found in the BCM2711 has 6 outputs and 3 FIFOs, with each output
being connected to a pixelvalve, and some muxing between the FIFOs and
outputs.

Any output cannot feed from any FIFO though, and they all have a bunch of
constraints.

In order to support this, let's store the possible FIFOs each output can be
assigned to in the vc4_crtc_data, and use that information at atomic_check
time to iterate over all the CRTCs enabled and assign them FIFOs.

The channel assigned is then set in the vc4_crtc_state so that the rest of
the driver can use it.

Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Tested-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
Tested-by: default avatarHoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: default avatarStefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: default avatarDave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/f9aba3814ef37156ff36f310118cdd3954dd3dc5.1599120059.git-series.maxime@cerno.tech
parent 59635667
  • mirror @mirror

    mentioned in commit 373f0d44

    ·

    mentioned in commit 373f0d44

    Toggle commit list
  • mirror @mirror

    mentioned in commit d81dd59d

    ·

    mentioned in commit d81dd59d

    Toggle commit list
  • mirror @mirror

    mentioned in commit 84c9f956fd1ea945e673b5ab91b1808d3b174f62

    ·

    mentioned in commit 84c9f956fd1ea945e673b5ab91b1808d3b174f62

    Toggle commit list
  • mirror @mirror

    mentioned in commit 52414102

    ·

    mentioned in commit 52414102

    Toggle commit list
  • mirror @mirror

    mentioned in commit a0438d93907c0acd0646ac84dbba6270464f5612

    ·

    mentioned in commit a0438d93907c0acd0646ac84dbba6270464f5612

    Toggle commit list
  • mirror @mirror

    mentioned in commit a2c2fd1b68710016a6e1be2bcd07a13bf198097e

    ·

    mentioned in commit a2c2fd1b68710016a6e1be2bcd07a13bf198097e

    Toggle commit list
  • mirror @mirror

    mentioned in commit db3190f6422dd566e9474c1dff123a1c76f1cbbd

    ·

    mentioned in commit db3190f6422dd566e9474c1dff123a1c76f1cbbd

    Toggle commit list
  • mirror @mirror

    mentioned in commit 9f9e9cd274e5c9152caf360d5ec6776a0cd86bee

    ·

    mentioned in commit 9f9e9cd274e5c9152caf360d5ec6776a0cd86bee

    Toggle commit list
  • mirror @mirror

    mentioned in commit b14dc7aa3826a2b8ca60623bcce33bd68652fc1f

    ·

    mentioned in commit b14dc7aa3826a2b8ca60623bcce33bd68652fc1f

    Toggle commit list
  • mirror @mirror

    mentioned in commit e9ef08da

    ·

    mentioned in commit e9ef08da

    Toggle commit list
  • mirror @mirror

    mentioned in commit baa6d0321648bb0ea852a7774a1d622f615c542c

    ·

    mentioned in commit baa6d0321648bb0ea852a7774a1d622f615c542c

    Toggle commit list
  • mirror @mirror

    mentioned in commit 75722f1ac84496a66b2558110ec9a5e388ea0d90

    ·

    mentioned in commit 75722f1ac84496a66b2558110ec9a5e388ea0d90

    Toggle commit list
  • mirror @mirror

    mentioned in commit 949b36a1458f6a7747dcdba48e68fce4f881bedd

    ·

    mentioned in commit 949b36a1458f6a7747dcdba48e68fce4f881bedd

    Toggle commit list
  • mirror @mirror

    mentioned in commit f2e11f42b3fb381178255d004aff4817e0a289e2

    ·

    mentioned in commit f2e11f42b3fb381178255d004aff4817e0a289e2

    Toggle commit list
  • mirror @mirror

    mentioned in commit 331ed45f87fd38aaae2e28d52bb2028790402cfb

    ·

    mentioned in commit 331ed45f87fd38aaae2e28d52bb2028790402cfb

    Toggle commit list
  • mirror @mirror

    mentioned in commit 600877cfe79ebe20ae2d4118456b545f1145a1fd

    ·

    mentioned in commit 600877cfe79ebe20ae2d4118456b545f1145a1fd

    Toggle commit list
  • mirror @mirror

    mentioned in commit 18f43c51

    ·

    mentioned in commit 18f43c51

    Toggle commit list
  • mirror @mirror

    mentioned in commit 12bb80d8c06d05086ca0622187c9eed263d69954

    ·

    mentioned in commit 12bb80d8c06d05086ca0622187c9eed263d69954

    Toggle commit list
  • mirror @mirror

    mentioned in commit b53a2ba2085c97d5894e0d35339e604dd950c8db

    ·

    mentioned in commit b53a2ba2085c97d5894e0d35339e604dd950c8db

    Toggle commit list
  • mirror @mirror

    mentioned in commit 426aef803630d9add1a51dc7fbd3fb0d1c2d6800

    ·

    mentioned in commit 426aef803630d9add1a51dc7fbd3fb0d1c2d6800

    Toggle commit list
  • mirror @mirror

    mentioned in commit eac7ecdf9e9ec4a84d8a11cf2eeb6f293128ede4

    ·

    mentioned in commit eac7ecdf9e9ec4a84d8a11cf2eeb6f293128ede4

    Toggle commit list
  • mirror @mirror

    mentioned in commit 89aece68d396bb6c1a12bcd10efcf56fac3b1002

    ·

    mentioned in commit 89aece68d396bb6c1a12bcd10efcf56fac3b1002

    Toggle commit list
  • mirror @mirror

    mentioned in commit 820e71dc0e521a025be64dcf045715cde61b30c8

    ·

    mentioned in commit 820e71dc0e521a025be64dcf045715cde61b30c8

    Toggle commit list
  • mirror @mirror

    mentioned in commit 7967008e732cf5046d75e6baa75ed2a7389426af

    ·

    mentioned in commit 7967008e732cf5046d75e6baa75ed2a7389426af

    Toggle commit list
  • mirror @mirror

    mentioned in commit e699ae13

    ·

    mentioned in commit e699ae13

    Toggle commit list
  • mirror @mirror

    mentioned in commit 228e877278d96885203f2293783c272a7f8c78d0

    ·

    mentioned in commit 228e877278d96885203f2293783c272a7f8c78d0

    Toggle commit list
  • mirror @mirror

    mentioned in commit 161359bc48a6121ca3235d4671e32629234dbb85

    ·

    mentioned in commit 161359bc48a6121ca3235d4671e32629234dbb85

    Toggle commit list
  • mirror @mirror

    mentioned in commit 053d4dbce122381d6a3b4db8f0f17c3bb9cd4eb8

    ·

    mentioned in commit 053d4dbce122381d6a3b4db8f0f17c3bb9cd4eb8

    Toggle commit list
  • mirror @mirror

    mentioned in commit e75ef52a1a5b103c2a516b62de18bf9b470ed0e7

    ·

    mentioned in commit e75ef52a1a5b103c2a516b62de18bf9b470ed0e7

    Toggle commit list
  • mirror @mirror

    mentioned in commit 18490261ef6604a7dff253c334dc14d29d53c89f

    ·

    mentioned in commit 18490261ef6604a7dff253c334dc14d29d53c89f

    Toggle commit list
  • mirror @mirror

    mentioned in commit 837520564a5775fd678e41d654050482be5d86a9

    ·

    mentioned in commit 837520564a5775fd678e41d654050482be5d86a9

    Toggle commit list
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment