Add mutex to protect crtc enable and disable routines. The
tilcdc_crtc_disable() function waits for frame done interrupt, the
internal data will get out of sync, should another enable arrive while
waiting for the interrupt.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 15
Add tilcdc_crtc_set_clk() and cleanup cpufreq_transition(). The new
tilcdc_crtc_set_clk() is used in tilcdc_crtc_mode_set_nofb() instead
tilcdc_crtc_update_clk(). New tilcdc_crtc_update_clk() is implemented
using tilcdc_crtc_set_clk() for cpufreq_transition() alone.
Signed-off-by: Jyri Sarha
Take mode config lock while updating the crtc clock rate. To avoid a
race in tilcdc_crtc_update_clk(), we do not want the mode to change
while we update crtc clock.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 5 +
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 2 ++
2 files
Jyri Sarha (3):
drm/tilcdc: Take mode config lock while updating the crtc clock rate
drm/tilcdc: Add tilcdc_crtc_set_clk() and cleanup cpufreq_transition()
drm/tilcdc: Add mutex to protect crtc enable and disable routines
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 93
On 09/01/16 01:11, Kevin Hilman wrote:
> Hi Jyri,
>
> Jyri Sarha writes:
>
>> On 08/23/16 15:56, Karl Beldan wrote:
>>> Hi,
>>>
>>> I found some missing bits for rev1 of the LCDC and here are some of the
>>> changes I am using to use the DR
s for v4.9
----
Jyri Sarha (4):
drm/tilcdc: Remove drm_helper_disable_unused_functions() call
drm/tilcdc: Write DMA base and ceiling address with single instruction
drm/tilcdc: Add blue-and-red-crossed devicetree property
drm/tilc
Fix property handling for mode object without mode object type.
drm_property_change_valid_get() crashes if atomic ioctl for mode
object does not specify the mode object type. This patch makes
drm_property_change_valid_get() to tolerate such requests.
Signed-off-by: Jyri Sarha
---
This used
.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-evmsk.dts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-evmsk.dts
b/arch/arm/boot/dts/am335x-evmsk.dts
index 23b94e7..034e117 100644
--- a/arch/arm/boot/dts/am335x-evmsk.dts
+++ b/arch/arm/boot/dts/am335x
Whitespace cleanup of lcdc related nodes. Do all indentation and
alignment with tabs instead of spaces.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-evmsk.dts | 40 +++---
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/arch/arm/boot/dts
.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-evm.dts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
index 5d28712..c3cbce0 100644
--- a/arch/arm/boot/dts/am335x-evm.dts
+++ b/arch/arm/boot/dts/am335x-evm.dts
supported color
formats from 16 bit RGB and 24 bit BGR to 16 bit BGR and 24 bit RGB.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-boneblack.dts | 11 +++
1 file changed, 11 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-boneblack.dts
b/arch/arm/boot/dts/am335x-boneblack.dts
but RGB formats, so we must choose such bytes per
pixel value that supports RGB.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 14 +-
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 1 -
drivers/gpu/drm/tilcdc/tilcdc_external.c | 7 +++
drivers/gpu/drm/tilcdc
65,
RGB888 and XRGB formats. However, depending on wiring, the red and
blue colors are swapped in either 16 or 24-bit color modes.
For more details see section 3.1.1 in AM335x Silicon Errata:
http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sprz360
Signed-off-by:
ior in LCDC.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 10 --
drivers/gpu/drm/tilcdc/tilcdc_regs.h | 14 ++
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
in
drm_helper_disable_unused_functions() should not be called by atomic
drivers.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 3404d24..e45c268
ors output
to be in BGR format. With straight wiring the 16 color is RGB and 24
bit is BGR. These patches try to deal with the issue in reasonable
manner.
For more details see section 3.1.1 in AM335x Silicon Errata:
http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sprz360
Jy
On 09/01/16 10:13, Tomi Valkeinen wrote:
> On 31/08/16 16:14, Jyri Sarha wrote:
>> Write DMA base and ceiling address with a single instruction, if
>> available. This should make it more unlikely that LCDC would fetch the
>> DMA addresses in the middle of an update. H
On 08/31/16 21:04, Tony Lindgren wrote:
> * Jyri Sarha [160831 06:19]:
>> ARM: dts: am335x-boneblack: Add blue-and-red-wiring -property to LCDC
>> node
>> ARM: dts: am335x-evm: Add blue-and-red-wiring -property to lcdc node
>> ARM: dts: am335x-evmsk: Whitesp
Remove double gamma table write in omap_crtc_atomic_flush().
Fixes commit 492a426a2fc53
("drm/omapdrm: Implement gamma_lut atomic crtc properties")
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/omapdrm/omap_crtc.c | 13 -
1 file changed, 13 deletions(-)
diff --git a/drive
.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-evmsk.dts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-evmsk.dts
b/arch/arm/boot/dts/am335x-evmsk.dts
index 23b94e7..034e117 100644
--- a/arch/arm/boot/dts/am335x-evmsk.dts
+++ b/arch/arm/boot/dts/am335x
Whitespace cleanup of lcdc related nodes. Do all indentation and
alignment with tabs instead of spaces.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-evmsk.dts | 40 +++---
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/arch/arm/boot/dts
.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-evm.dts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
index 5d28712..c3cbce0 100644
--- a/arch/arm/boot/dts/am335x-evm.dts
+++ b/arch/arm/boot/dts/am335x-evm.dts
supported color
formats from 16 bit RGB and 24 bit BGR to 16 bit BGR and 24 bit RGB.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-boneblack.dts | 11 +++
1 file changed, 11 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-boneblack.dts
b/arch/arm/boot/dts/am335x-boneblack.dts
but RGB formats, so we must choose such bytes per
pixel value that supports RGB.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 14 +-
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 1 -
drivers/gpu/drm/tilcdc/tilcdc_external.c | 7 +++
drivers/gpu/drm/tilcdc
d XRGB formats. However, depending on
wiring, the red and blue colors are swapped in either 16 or 24-bit
color modes.
For more details see section 3.1.1 in AM335x Silicon Errata:
http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sprz360
Signed-off-by:
ior in LCDC.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 9 +++--
drivers/gpu/drm/tilcdc/tilcdc_regs.h | 14 ++
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
in
drm_helper_disable_unused_functions() should not be called by atomic
drivers.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 3404d24..e45c268
n reasonable
manner.
For more details see section 3.1.1 in AM335x Silicon Errata:
http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sprz360
Jyri Sarha (8):
drm/tilcdc: Remove drm_helper_disable_unused_functions() call
drm/tilcdc: Write DMA base and ceiling address with
On 08/30/16 15:46, Tomi Valkeinen wrote:
>
>
> On 26/08/16 20:44, Jyri Sarha wrote:
>> On 08/26/16 15:51, Rob Herring wrote:
>>>> --- a/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt
>>>>> +++ b/Documentation/devicetree/bindings/disp
ior in LCDC.
Signed-off-by: Jyri Sarha
---
I am not sure what would be the least ugly way of utilizing ARM7 strd
instruction. Using inline assebler would be the most straight forward
way, but this looks less ugly to me.
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 9 +++--
drivers/gpu/drm/til
On 08/26/16 15:51, Rob Herring wrote:
>> --- a/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt
>> > +++ b/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt
>> > @@ -17,6 +17,8 @@ Optional properties:
>> > the lcd controller.
>> > - max-pixelclock: The maximum pixel
Add blue-and-red-crossed -property to lcdc node. The am335x-evmsk has blue
and red wires crossed to get 24-bit RGB (and 16-bit BGR) support. See
details in Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-evmsk.dts | 2 ++
1
Whitespace cleanup of lcdc related nodes. Do all indentation and
alignment with tabs instead of spaces.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-evmsk.dts | 40 +++---
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/arch/arm/boot/dts
Add blue-and-red-crossed -property to lcdc node. The am335x-evm has blue
and red wires crossed to get 24-bit RGB (and 16-bit BGR) support. See
details in Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-evm.dts | 2 ++
1 file
and 24 bit BGR to 16 bit BGR and 24 bit
RGB, if the suggested changes are uncommented.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-boneblack.dts | 12
1 file changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-boneblack.dts
b/arch/arm/boot/dts/am335x
but RGB formats, so we must choose such bytes per
pixel value that supports RGB.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 13 -
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 1 -
drivers/gpu/drm/tilcdc/tilcdc_external.c | 7 +++
drivers/gpu/drm/tilcdc
ue and red wires crossed for
24 bit RGB mode and after this patch their LCDC nodes should have this
property to get correct colors in the display.
For more details see section 3.1.1 in AM335x Silicon Errata:
http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sprz360
Signed-of
drm_helper_disable_unused_functions() should not be called by atomic
drivers.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 3404d24..e45c268
ble
manner.
For more details see section 3.1.1 in AM335x Silicon Errata:
http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sprz360
Jyri Sarha (7):
drm/tilcdc: Remove drm_helper_disable_unused_functions() call
drm/tilcdc: Add blue-and-red-crossed devicetree property
drm/tilc
Thanks a lot!
This is very helpful as I do not have LCDC rev1 HW my self, but only
am335x based boards.
On 08/23/16 15:56, Karl Beldan wrote:
> Hi,
>
> I found some missing bits for rev1 of the LCDC and here are some of the
> changes I am using to use the DRM driver on an LCDCK (which has a
On 08/18/16 22:17, Rob Herring wrote:
> On Tue, Aug 16, 2016 at 12:24:28PM +0300, Jyri Sarha wrote:
>> Add "blue-and-red-wiring"-device tree property and update devicetree
>> binding document. The red and blue components are reversed between 24
>> and 16 bit m
u want to get 16 RGB mode (and 24 BGR mode), set tda19988
video-ports -property to 0x230145 and tilcdc blue-and-red-wiring
-property to "straight".
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-boneblack.dts | 11 +++
1 file changed, 11 insertions(+)
diff --
but RGB formats, so we must choose such bytes per
pixel value that supports RGB.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 13 -
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 1 -
drivers/gpu/drm/tilcdc/tilcdc_external.c | 7 +++
drivers/gpu/drm/tilcdc
not found.
For more details see section 3.1.1 in AM335x Silicon Errata:
http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sprz360
Signed-off-by: Jyri Sarha
---
.../devicetree/bindings/display/tilcdc/tilcdc.txt | 12 ++
drivers/gpu/drm/tilcdc/tilcdc_drv.c
drm_helper_disable_unused_functions() should not be called by atomic
drivers.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 3404d24..e45c268
rature.tsp?baseLiteratureNumber=sprz360
Jyri Sarha (4):
drm/tilcdc: Remove drm_helper_disable_unused_functions() call
drm/tilcdc: Add blue-and-red-wiring -device tree property
drm/tilcdc: Choose console BPP that supports RGB
ARM: dts: am335x-boneblack: Convert BGR from LCDC to RGB in tda19988
.../devicetre
On 08/15/16 11:16, Teresa Remmet wrote:
> In function tilcdc_get_external_components the check for
> the remote port parent is not correct. We need a '||' instead of
> an '&&'.
>
> Signed-off-by: Teresa Remmet
> ---
> There has been send out a different version of this patch about a year ago.
>
)
Jyri Sarha (29):
drm/tilcdc: Restore old dpms state in pm_resume()
drm/tilcdc: Move LCDC_SYNC_LOST handling inside if (ver == 2)
statement
drm/tilcdc: Write to LCDC_END_OF_INT_IND_REG at the end of IRQ
function
drm/tilcdc: Move waiting of LCDC_FRAME_DONE IRQ
Add HDMI audio support. Adds mcasp0_pins, clk_mcasp0_fixed,
clk_mcasp0, mcasp0, sound node, and updates the tda19988 node to
follow the new binding.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-boneblack.dts | 71 --
1 file changed, 67 insertions(+), 4
There may still be some
identical lines left from the original patch and some of the ideas
have come from there.
[1] Documentation/devicetree/bindings/display/bridge/tda998x.txt
[2] http://mailman.alsa-project.org/pipermail/alsa-devel/2015-July/095255.html
Signed-off-by: Jyri Sarha
---
.../
Define struct tda998x_audio_params in include/drm/i2c/tda998x.h and
use it in pdata and for tda998x_configure_audio() parameters. Also
updates tda998x_write_aif() to take struct hdmi_audio_infoframe *
directly as a parameter.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/i2c/tda998x_drv.c | 84
ers from ASoC thread
- "dts/am335x-boneblack: SQUASH"
- Use corrected macros from dt-bindings/display/tda998x.h
[1] https://lists.freedesktop.org/archives/dri-devel/2016-August/114491.html
Jyri Sarha (3):
drm/i2c: tda998x: Improve tda998x_configure_audio() audio related
pdata
drm/i2
On 08/06/16 01:19, Russell King - ARM Linux wrote:
>> > It'll pick up that as the DT device to hang things off which I'd expect
>> > to be the desired outcome given that this is a very similar situation to
>> > the MFD situation. I've not been following the full thread so there is
>> > probably
On 08/04/16 17:07, Russell King - ARM Linux wrote:
> On Tue, Aug 02, 2016 at 03:05:08PM +0300, Jyri Sarha wrote:
>> +memcpy(audio.status, params->iec.status,
>> + min(sizeof(audio.status), sizeof(params->iec.status)));
>
> As mentioned in the other p
On 08/04/16 16:31, Russell King - ARM Linux wrote:
> On Tue, Aug 02, 2016 at 03:05:07PM +0300, Jyri Sarha wrote:
>> @@ -787,19 +792,13 @@ tda998x_configure_audio(struct tda998x_priv *priv,
>> reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_RST_CTS);
>>
>>
Add HDMI audio support. Adds mcasp0_pins, clk_mcasp0_fixed,
clk_mcasp0, mcasp0, sound node, and updates the tda19988 node to
follow the new binding.
Signed-off-by: Jyri Sarha
---
arch/arm/boot/dts/am335x-boneblack.dts | 71 --
1 file changed, 67 insertions(+), 4
There may still be some
identical lines left from the original patch and some of the ideas
have come from there.
[1] Documentation/devicetree/bindings/display/bridge/tda998x.txt
[2] http://mailman.alsa-project.org/pipermail/alsa-devel/2015-July/095255.html
Signed-off-by: Jyri Sarha
---
.../
Define struct tda998x_audio_params in include/drm/i2c/tda998x.h and
use it in pdata and for tda998x_configure_audio() parameters. Also
updates tda998x_write_aif() to take struct hdmi_audio_infoframe *
directly as a parameter.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/i2c/tda998x_drv.c | 77
ch.
The first patch changes tda998x pdata, so if there are any out of tree
users of tda998x-driver the out of tree code needs to be updated.
Jyri Sarha (3):
drm/i2c: tda998x: Improve tda998x_configure_audio() audio related
pdata
drm/i2c: tda998x: Register ASoC hdmi-codec and add audio D
Change tilcdc_crtc_page_flip() to tilcdc_crtc_update_fb(). The
function is not used as a page_flip() callback anymore so it is only
confusing to call it that anymore. The function should only be used by
dummy primary plane commit() callback.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc
Remove unnecessary pm_runtime_get() and *_put() calls from commit
phase callbacks. Those calls are not needed since we have the whole
commit phase between pm_runtime_get_sync() and pm_runtime_put_sync().
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 8
1 file
() and disable() callbacks.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 109 ++-
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 8 ++-
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 3 +-
3 files changed, 50 insertions(+), 70 deletions(-)
diff --git
Use drm_atomic_helper_resume/suspend() and get rid off all obsolete
code register level context restoring code.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 56 +
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 6 ++--
2 files changed, 9
Enable and disable interrupts in crtc start() and stop(). None of the
interrupts can fire if CRTC is disabled, so it is cleaner - when
considering suspend/resume code etc. - to enable the interrupts in when
CRTC is turned on and to disable them when CRTC is turned off.
Signed-off-by: Jyri Sarha
Add atomic modeset helpers to tfp410 connector funcs. Property handling
related helpers, atomic reset helper, and new dpms helper is needed in
connector for atomic modeseting to work. The default helper functions
are enough.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
Set crtc panel info at init phase. Setting it at prepare callback does
it multiple times for no good reason and it also too late when atomic
modeset is used.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
Add atomic modeset helpers to panel connector funcs. Property handling
related helpers, atomic reset helper, and new dpms helper is needed in
connector for atomic modeseting to work. The default helper functions
are enough.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_panel.c | 6
Set crtc panel info at init phase. Setting it at prepare callback does
it multiple times for no good reason and it also too late when atomic
modeset is used.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_panel.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff
Remove tilcdc_verify_fb(). The tilcdc_verify_fb() function is not
needed because the same checks are implemented in
tilcdc_plane_atomic_check().
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 21 -
1 file changed, 21 deletions(-)
diff --git a/drivers
ncs atomic_check()
callback, it would get over written by the extra
drm_atomic_helper_check_modeset() call.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 208 ---
1 file changed, 208 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
Set DRIVER_ATOMIC and use atomic helpers and rename commit and prepare
crtc helpers to enable and disable. This makes the final jump to mode
setting, but there is lot of obsolete code to clean up.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 20
Add drm_mode_config_reset() call to tilcdc_load(). This is need to
initialize atomic state variables at load time.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
b/drivers/gpu/drm
see drm_atomic_helper_check_modeset()
documentation).
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 71 +
1 file changed, 71 insertions(+)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 10fd
led drm_atomic_helper_check_planes(). If the fixing of the
adjusted_mode would be done in drm_crtc_helper_funcs atomic_check()
callback, it would get over written by the extra
drm_atomic_helper_check_modeset() call.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 27 +++
Add tilcdc_crtc_mode_set_nofb(). The mode_set_nofb() semantics do not
fit well to LCDC, because of the mandatory framebuffer. However, when
the primary plane is required in the check phase, it and the
framebuffer can be found from the atomic state struct.
Signed-off-by: Jyri Sarha
---
drivers
Initialize dummy primary plane from crtc init.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 11 ++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index deb4f96..998ef10
relies on a CRTC side function.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/Makefile | 1 +
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 2 +
drivers/gpu/drm/tilcdc/tilcdc_plane.c | 133 ++
3 files changed, 136 insertions(+)
create mode 100644 drivers
Make tilcdc_crtc_page_flip() work if crtc is not yet on. The plane
commit sometimes comes before crtc is turned on. The new framebuffer
should be set to scanout also in that case, so that it is there when
crtc is turned on at the end of the commit phase.
Signed-off-by: Jyri Sarha
---
drivers
Make tilcdc_crtc_page_flip() public for dummy plane implementation to use.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 2 +-
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 4
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
and the check if the drm_put_dev() has been
called must be in component_master_ops unbind() callback, not in
platform_driver remove() callback.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 22 +-
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git
hes
- Add mechanism to update crtc state's mode_changed if plane fb
pixel_format changes
- Add tilcdc_atomic_check() for mode_config_funcs
- Leave tilcdc_crtc_mode_fixup() connected to drm_crtc_helper_funcs
[1] https://lists.freedesktop.org/archives/dri-devel/2016-June/111258.html
Jyri
Hi,
The documentation of drm_atomic_helper_check_modeset() says:
"Drivers which update ->mode_changed (e.g. in their ->atomic_check hooks
if a plane update can't be done without a full modeset) _must_ call this
function afterwards after that change. It is permitted to call this
function multiple
Avoid error print by of_graph_get_next_endpoint() if there is no ports
present.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_external.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_external.c
b/drivers/gpu/drm
The legacy panel.txt and tfp410.txt bindings are still the only supported
way to connect lcd panel and tfp410 DVI encoder to tilcdc.
Signed-off-by: Jyri Sarha
---
Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt | 4
1 file changed, 4 insertions(+)
diff --git a/Documentation
Add drm_crtc_vblank_on() and *_off() calls to start() and stop()
functions, to make sure any vblank waits etc. gets properly cleaned
up.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/tilcdc
Increase time out for waiting frame done interrupt. 50ms is long
enough for the usual display modes (50 Hz or higher refresh rate), but
it may be a bit tight for some unusual mode.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 2 +-
1 file changed, 1 insertion(+), 1
Move wait queue waiting of LCDC_FRAME_DONE IRQ from tilcdc_crtc_dpms()
into stop() function. This is just a cleanup and enables independent
use of stop() function.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 31 ---
1 file changed, 16
interrupts.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 15 ++-
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index 6309d3c..65284e9 100644
--- a/drivers/gpu/drm/tilcdc
Move LCDC_SYNC_LOST handling inside if (ver == 2) statement.
LCDC_SYNC_LOST interrupt status bit is only defined for version 2
silicon.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 21 ++---
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git
Move LCDC_SYNC_LOST handling in side if (ver == 2) statement.
LCDC_SYNC_LOST interrupt status bit is only defined for version 2
silicon.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 21 ++---
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git
ngine when suspend invoked")
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 7 +++
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 3 +++
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 2 ++
3 files changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
b/drive
d "drm/tilcdc: Increase time out for waiting frame done interrupt"
Changes since first version:
- "drm/tilcdc: Restore old dpms state in pm_resume()"
- Fix typos from description and subject
- Add "drm/tilcdc: Call drm_crtc_vblank_on() and *_off() in start() and
stop(
Avoid error print by of_graph_get_next_endpoint() if there is no ports
present.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_external.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_external.c
b/drivers/gpu/drm
The legacy panel.txt and tfp410.txt bindings are still the only supported
way to connect lcd panel and tfp410 DVI encoder to tilcdc.
Signed-off-by: Jyri Sarha
---
Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt | 4
1 file changed, 4 insertions(+)
diff --git a/Documentation
Add drm_crtc_vblank_on() and *_off() calls to start() and stop()
functions, to make sure any vblank waits etc. gets properly cleaned
up.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/tilcdc
Increase time out for waiting frame done interrupt. 50ms is long
enough for the usual display modes (50 Hz or higher refresh rate), but
it may be a bit tight for some unusual mode.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 2 +-
1 file changed, 1 insertion(+), 1
Move wait queue waiting of LCDC_FRAME_DONE IRQ from tilcdc_crtc_dpms()
into stop() function. This is just a cleanup and enables independent
use of stop() function.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 31 ---
1 file changed, 16
interrupts.
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 36
1 file changed, 20 insertions(+), 16 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index 4d8f9a5..65284e9 100644
ngine when suspend invoked")
Signed-off-by: Jyri Sarha
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 7 +++
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 3 +++
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 2 ++
3 files changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
b/drive
IRQ into stop()"
- Improve description
- Add "drm/tilcdc: Increase time out for waiting frame done interrupt"
Changes since first version:
- "drm/tilcdc: Restore old dpms state in pm_resume()"
- Fix typos from description and subject
- Add "drm/tilcdc: Call
701 - 800 of 1283 matches
Mail list logo