[PATCH v2 18/59] drm/kmb: Part8 of Mipi Tx Initialization

2020-07-14 Thread Anitha Chrisanthus
This initializes the interrupts for DSI. This is the final part of mipi DSI initialization. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 1 + drivers/gpu/drm/kmb/kmb_drv.h | 30 +++- drivers/gpu/drm/kmb/kmb_dsi.c | 46

[PATCH v2 09/59] drm/kmb: Part 1 of Mipi Tx Initialization

2020-07-14 Thread Anitha Chrisanthus
code readability as per code review Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.h | 14 ++ drivers/gpu/drm/kmb/kmb_dsi.c | 330 + drivers/gpu/drm/kmb/kmb_dsi.h | 232 + drivers

[PATCH v2 54/59] drm/kmb: Initialize uninitialized variables

2020-07-14 Thread Anitha Chrisanthus
general cleaning Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_dsi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_dsi.c b/drivers/gpu/drm/kmb/kmb_dsi.c index 6e38f16..2599ed2 100644 --- a/drivers/gpu/drm/kmb/kmb_dsi.c +++ b

[PATCH v2 35/59] drm/kmb: Remove declaration of irq_lcd/irq_mipi

2020-07-14 Thread Anitha Chrisanthus
From: Edmund Dea Made it conditionally compiled. Signed-off-by: Edmund Dea --- drivers/gpu/drm/kmb/kmb_drv.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_drv.c b/drivers/gpu/drm/kmb/kmb_drv.c index 90db07c..861aa97 100644 ---

[PATCH v2 31/59] drm/kmb: Cleanup probe functions

2020-07-14 Thread Anitha Chrisanthus
kmb_drm_unbind to kmb_drm_unload. - Get mmio info from device tree v2: upclassed dev_private Signed-off-by: Edmund Dea Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 332 +++--- drivers/gpu/drm/kmb/kmb_drv.h | 1 + drivers/gpu/drm/kmb

[PATCH v2 13/59] drm/kmb: Part4 of Mipi Tx Initialization

2020-07-14 Thread Anitha Chrisanthus
This initializes the mipi high speed transmitter CTRL and SYNC configuration registers. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_dsi.c | 55 -- drivers/gpu/drm/kmb/kmb_regs.h | 29 +- 2

[PATCH v2 48/59] drm/kmb: SWAP R and B LCD Layer order

2020-07-14 Thread Anitha Chrisanthus
Set swap bit for the colors to display correctly when the format is RGB and not set when its BGR. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_plane.c | 36 ++-- 1 file changed, 18 insertions(+), 18 deletions(-) diff

[PATCH v2 22/59] drm/kmb: Set hardcoded values to LCD_VSYNC_START

2020-07-14 Thread Anitha Chrisanthus
Myriadx code has it set to these values. v2: upclassed dev_private Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_crtc.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_crtc.c b/drivers/gpu/drm/kmb

[PATCH v2 44/59] drm/kmb: Mipi settings from input timings

2020-07-14 Thread Anitha Chrisanthus
Removed hardcoded timings, set timings based on the current mode's input timings. Also calculate and set the lane rate based on the timings. Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_crtc.c | 9 +++- drivers/gpu/drm/kmb/kmb_dsi.c | 93

[PATCH v2 33/59] drm/kmb: Initialize clocks for clk_msscam, clk_mipi_ecfg, & clk_mipi_cfg.

2020-07-14 Thread Anitha Chrisanthus
From: Edmund Dea Note that we enable clk_msscam but do not set clk_msscam. However, we do enable and set clk_mipi_ecfg and clk_mipi_cfg. Verify that LCD and MIPI clocks are set successfully. Signed-off-by: Edmund Dea --- drivers/gpu/drm/kmb/kmb_drv.c | 112

[PATCH v2 41/59] drm/kmb: Changes for LCD to Mipi

2020-07-14 Thread Anitha Chrisanthus
Also free dsi resources on driver unload. System clock frequency change for llp ratio calculation. v2: upclassed dev_private Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_crtc.c | 25 drivers/gpu/drm/kmb/kmb_drv.c | 6 +- drivers/gpu/drm/kmb/kmb_drv.h | 1

[PATCH v2 36/59] drm/kmb: Enable MIPI TX HS Test Pattern Generation

2020-07-14 Thread Anitha Chrisanthus
From: Edmund Dea Added test pattern generator function. Enable this at compile time to test if mipi is working. mipi->hdmi section Signed-off-by: Edmund Dea Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_dsi.c | 31 +++ drivers/gpu/drm/kmb/kmb_dsi.h | 7

[PATCH v2 34/59] drm/kmb: Enable MSS_CAM_CLK_CTRL for LCD and MIPI

2020-07-14 Thread Anitha Chrisanthus
Enable clocks for LCD, mipi common and mipi tx0 Renamed MSS_CAM_CLK_CTRL and also fixed bug in the call to set this register. Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 8 drivers/gpu/drm/kmb/kmb_drv.h | 14 ++ drivers/gpu/drm/kmb/kmb_dsi.c

[PATCH v2 20/59] drm/kmb: Register IRQ for LCD

2020-07-14 Thread Anitha Chrisanthus
This code is commented out until firmware is updated to redirect LCD IRQ from MSSCPU to A53. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 17 ++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/kmb

[PATCH v2 23/59] drm/kmb: Additional register programming to update_plane

2020-07-14 Thread Anitha Chrisanthus
Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.h | 16 drivers/gpu/drm/kmb/kmb_plane.c | 183 drivers/gpu/drm/kmb/kmb_regs.h | 72 ++-- 3 files changed, 210 insertions(+), 61 deletions

[PATCH v2 15/59] drm/kmb: Part5 of Mipi Tx Intitialization

2020-07-14 Thread Anitha Chrisanthus
This is part1 of DPHY initialization. v2: remove kmb_write() as the function provides no benefit over calling writel() directly. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.h | 5 - drivers/gpu/drm/kmb/kmb_dsi.c | 346

[PATCH v2 46/59] drm/kmb: Enable LCD interrupts during modeset

2020-07-14 Thread Anitha Chrisanthus
The issue was that spurious interrupts were happening before the LCD controller was enabled and system hangs. Fix is to clear LCD interrupts and disable them before modeset and re enable them after enabling LCD controller. v2: upclassed dev_private Signed-off-by: Anitha Chrisanthus Reviewed

[PATCH v2 28/59] drm/kmb: Changed MMIO size

2020-07-14 Thread Anitha Chrisanthus
Also added debug messages Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 16 ++-- drivers/gpu/drm/kmb/kmb_regs.h | 6 +++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_drv.c b/drivers/gpu/drm/kmb/kmb_drv.c index

[PATCH v2 39/59] drm/kmb: Fixed driver unload

2020-07-14 Thread Anitha Chrisanthus
unmap MSSCAM registers Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 15 +++ drivers/gpu/drm/kmb/kmb_drv.h | 1 - drivers/gpu/drm/kmb/kmb_regs.h | 2 +- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_drv.c b

[PATCH v2 37/59] drm/kmb: Set MSS_CAM_RSTN_CTRL along with enable

2020-07-14 Thread Anitha Chrisanthus
Also moved num_planes init before load, time out for dsi fixed kmb regs read/write to only pass dev_p and few other minor changes. Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 32 ++-- drivers/gpu/drm/kmb/kmb_drv.h | 34

[PATCH v2 38/59] drm/kmb: Mipi DPHY initialization changes

2020-07-14 Thread Anitha Chrisanthus
Fix test_mode_send and dphy_wait_fsm for 2-lane MIPI - Fix test_mode_send when sending normal mode test codes - Change dphy_wait_fsm to check for IDLE status rather than LOCK status for 2-lane MIPI v2: upclassed dev_private Signed-off-by: Anitha Chrisanthus Signed-off-by: Edmund Dea

[PATCH v2 21/59] drm/kmb: IRQ handlers for LCD and mipi dsi

2020-07-14 Thread Anitha Chrisanthus
Added handlers for lcd and mipi, it only finds and clears the interrupt as of now, more functionality can be added as needed. v2: upclassed dev_private Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 55

[PATCH v2 26/59] drm/kmb: rebase to newer kernel version

2020-07-14 Thread Anitha Chrisanthus
cleanup code Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 5 +++-- drivers/gpu/drm/kmb/kmb_drv.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_drv.c b/drivers/gpu/drm/kmb/kmb_drv.c index 71fdb94..78cb91b 100644

[PATCH v2 49/59] drm/kmb: Disable ping pong mode

2020-07-14 Thread Anitha Chrisanthus
Disable ping pong mode otherwise video corruption results, use continuous mode and also fetch the dma addresses before disabling dma. For now, only initialize the dma and planes once and for next plane updates only update the addresses for dma. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob

[PATCH v2 16/59] drm/kmb: Part6 of Mipi Tx Initialization

2020-07-14 Thread Anitha Chrisanthus
This is part2 of DPHY initialization- sets up DPHY PLLs. v2: simplified mipi_tx_get_vco_params() based on review v3: added WARN_ON for invalid freq v4: fixed bug in mipi_tx_get_vco_params Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_dsi.c | 194

[PATCH v2 02/59] drm/kmb: Added id to kmb_plane

2020-07-14 Thread Anitha Chrisanthus
. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_crtc.c | 13 --- drivers/gpu/drm/kmb/kmb_crtc.h | 2 +- drivers/gpu/drm/kmb/kmb_drv.h | 2 +- drivers/gpu/drm/kmb/kmb_plane.c | 80 +++-- drivers/gpu/drm/kmb

[PATCH v2 57/59] drm/kmb: workaround for dma undeflow issue

2020-07-14 Thread Anitha Chrisanthus
() during recovery reenable dma at the vsync interrupt after recovery is done v2: renamed global vars, upclassed dev_private. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_crtc.c | 27 +++ drivers/gpu/drm/kmb/kmb_drv.c | 154

[PATCH v2 58/59] drm/kmb: Get System Clock from SCMI

2020-07-14 Thread Anitha Chrisanthus
System clock is different for A0 and B0 silicons, so get it directly from clk_PLL0 through SCMI calls. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 11 +++ drivers/gpu/drm/kmb/kmb_drv.h | 1 + drivers/gpu/drm/kmb/kmb_dsi.c | 12

[PATCH v2 12/59] drm/kmb: Part3 of Mipi Tx initialization

2020-07-14 Thread Anitha Chrisanthus
This initializes the multichannel fifo in the mipi transmitter and sets the LCD to mipi interconnect which connects LCD to MIPI ctrl #6 v2: code review changes to make code simpler Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.h | 25

[PATCH v2 43/59] drm/kmb: Changed name of driver to kmb-drm

2020-07-14 Thread Anitha Chrisanthus
name change Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/Makefile | 4 ++-- drivers/gpu/drm/kmb/kmb_drv.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/kmb/Makefile b/drivers/gpu/drm/kmb/Makefile index 8102bc9

[PATCH v2 25/59] drm/kmb: Display clock enable/disable

2020-07-14 Thread Anitha Chrisanthus
Get clock info from DT and enable it during initialization. Also changed name of the driver to "kmb,display" to match other entries in the DT. v2: fixed error in clk_disable Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_

[PATCH v2 55/59] drm/kmb: Added useful messages in LCD ISR

2020-07-14 Thread Anitha Chrisanthus
Print messages for LCD DMA FIFO errors. v2: corrected spelling Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 68 +++-- drivers/gpu/drm/kmb/kmb_plane.h | 2 ++ 2 files changed, 60 insertions(+), 10 deletions(-) diff --git a/drivers

[PATCH v2 30/59] drm/kmb: call bridge init in the very beginning

2020-07-14 Thread Anitha Chrisanthus
of probe and return probe_defer early on, so that all the other initializations can be done after adv driver is loaded successfully. Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 74 +- drivers/gpu/drm/kmb/kmb_dsi.c | 144

[PATCH v2 07/59] drm/kmb: Set OUT_FORMAT_CFG register

2020-07-14 Thread Anitha Chrisanthus
v2: code review changes Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_plane.c | 14 +- drivers/gpu/drm/kmb/kmb_regs.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/kmb/kmb_plane.c b/drivers/gpu/drm/kmb

[PATCH v2 17/59] drm/kmb: Part7 of Mipi Tx Initialization

2020-07-14 Thread Anitha Chrisanthus
This completes the DPHY initialization and Tx initialization. v2: minor code review changes Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_dsi.c | 65 ++ drivers/gpu/drm/kmb/kmb_dsi.h | 18 drivers

[PATCH v2 27/59] drm/kmb: minor name change to match device tree

2020-07-14 Thread Anitha Chrisanthus
name change Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/kmb/kmb_drv.c b/drivers/gpu/drm/kmb/kmb_drv.c index 78cb91b..4afdb9c 100644 --- a/drivers/gpu/drm/kmb/kmb_drv.c +++ b/drivers/gpu

[PATCH v2 45/59] drm/kmb: Enable LCD interrupts

2020-07-14 Thread Anitha Chrisanthus
Enabled vblank interrupts for LCD. v2: upclassed dev_private Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_crtc.c | 36 +++- drivers/gpu/drm/kmb/kmb_drv.c | 41 + drivers/gpu/drm

[PATCH v2 05/59] drm/kmb: Updated kmb_plane_atomic_check

2020-07-14 Thread Anitha Chrisanthus
Check if format is supported and size is within limits. v2: simplified the code as per code review Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_plane.c | 111 +++- 1 file changed, 65 insertions(+), 46 deletions

[PATCH v2 24/59] drm/kmb: Add ADV7535 bridge

2020-07-14 Thread Anitha Chrisanthus
Find ADV 7535 from the device tree and get the bridge driver and attach it to the DRM and the MIPI encoder. v2: check for valid encoder node Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 27 ++- drivers/gpu/drm/kmb

[PATCH v2 29/59] drm/kmb: Defer Probe

2020-07-14 Thread Anitha Chrisanthus
Register DSI host first and then defer probe until ADV bridge is initialized. Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 144 ++ drivers/gpu/drm/kmb/kmb_dsi.c | 46 -- drivers/gpu/drm/kmb/kmb_dsi.h | 3 +- 3 files

[PATCH v2 51/59] drm/kmb: Write to LCD_LAYERn_CFG only once

2020-07-14 Thread Anitha Chrisanthus
From: Edmund Dea Video artifacts appear during playback as horizontal lines that sporadically appear every few frames. Issue was caused by writing to LCD_LAYERn_CFG register twice during plane updates. Issue is fixed by writing to LCD_LAYERn_CFG only once. Removed plane_init_status so that

[PATCH v2 53/59] drm/kmb: disable the LCD layer in EOF irq handler

2020-07-14 Thread Anitha Chrisanthus
kmb_plane_atomic_disable is called but actually disable the LCD layer when EOF irq is being handled. Also only enable one plane (video plane0) as there is no use case for multiple planes. v2: Moved extern to .h, removed license text, upclassed dev_private. Signed-off-by: Anitha Chrisanthus Signed-off-by: Edmund

[PATCH v2 47/59] drm/kmb: Don’t inadvertantly disable LCD controller

2020-07-14 Thread Anitha Chrisanthus
setbits instead of write dword for LCD_CONTROL register this was inadvertantly disabling the LCD controller. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_plane.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/kmb

[PATCH v2 52/59] drm/kmb: Cleaned up code

2020-07-14 Thread Anitha Chrisanthus
From: Edmund Dea to remove compiler warnings and general clean up v2: minor code review changes v3: upclassed dev_private, corrected spelling Signed-off-by: Edmund Dea --- drivers/gpu/drm/kmb/kmb_crtc.c | 46 +- drivers/gpu/drm/kmb/kmb_crtc.h |6 +- drivers/gpu/drm/kmb/kmb_drv.c |

[PATCH v2 56/59] kmb/drm: Prune unsupported modes

2020-07-14 Thread Anitha Chrisanthus
KMB display pipeline is LCD->Mipi->HDMI. Mipi->HDMI converter chip only accepts 4-lane input from mipi. With 4-lane mipi, KMB hardware can only support 1080p resolution. Therefore, limit supported mode to 1080p. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gp

[PATCH v2 32/59] drm/kmb: Revert dsi_host back to a static variable

2020-07-14 Thread Anitha Chrisanthus
From: Edmund Dea revert dsi_host to static and instead add dsi_host_unregister. Signed-off-by: Edmund Dea Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 6 +++--- drivers/gpu/drm/kmb/kmb_drv.h | 1 - drivers/gpu/drm/kmb/kmb_dsi.c | 9 +++-- drivers/gpu/drm/kmb/kmb_dsi.h | 1

[PATCH v2 19/59] drm/kmb: Added ioremap/iounmap for register access

2020-07-14 Thread Anitha Chrisanthus
to read from device tree in the future. v2: minor code review changes v3: upclassed dev_private Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_crtc.c | 59 +++--- drivers/gpu/drm/kmb/kmb_drv.c | 104 --- drivers/gpu/drm/kmb/kmb_drv.h | 64

[PATCH v2 04/59] drm/kmb: Use biwise operators for register definitions

2020-07-14 Thread Anitha Chrisanthus
Did some general clean up and organization. v2: corrected spelling Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 3 +- drivers/gpu/drm/kmb/kmb_regs.h | 852 +++-- 2 files changed, 307 insertions(+), 548

[PATCH v2 00/59] Add support for KeemBay DRM driver

2020-07-14 Thread Anitha Chrisanthus
create (will be updated to use devm_drm_dev_alloc() in a separate patch later as kmb driver is currently developed on 5.4 kernel) - minor cleanups Anitha Chrisanthus (52): drm/kmb: Add support for KeemBay Display drm/kmb: Added id to kmb_plane drm/kmb: Set correct values in the LAYERn_CFG re

[PATCH v2 10/59] drm/kmb: Part 2 of Mipi Tx Initialization

2020-07-14 Thread Anitha Chrisanthus
Mipi TX Frame generator timing configuration Compute and set frame generator timings like hactive, front porch, back porch etc. v2: minor code review changes Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_dsi.c | 132

[PATCH v2 01/59] drm/kmb: Add support for KeemBay Display

2020-07-14 Thread Anitha Chrisanthus
HAVE_IRQ. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile| 1 + drivers/gpu/drm/kmb/Kconfig | 12 ++ drivers/gpu/drm/kmb/Makefile| 2 + drivers/gpu/drm/kmb/kmb_crtc.c | 194 ++ drivers

[PATCH v2 03/59] drm/kmb: Set correct values in the LAYERn_CFG register

2020-07-14 Thread Anitha Chrisanthus
During update plane, set the layer format, bpp, fifo level, RGB order, Cb/Cr order etc. in the LAYER_CFG register. v2: Return val in set_pixel and set_bpp instead of passing in pointer, Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_plane.c | 145

[PATCH v2 14/59] drm/kmb: Correct address offsets for mipi registers

2020-07-14 Thread Anitha Chrisanthus
Mipi HS registers start at an additional offset of 0x400 which needs to be added at the register macro definition and not at the read/write function level. v2: replaced calculations with macro to make code simpler Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm

[PATCH v2 06/59] drm/kmb: Initial check-in for Mipi DSI

2020-07-14 Thread Anitha Chrisanthus
Basic frame work for mipi encoder and connector. More hardware specific details will be added in the future commits. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/Makefile | 2 +- drivers/gpu/drm/kmb/kmb_drv.c | 2 + drivers/gpu/drm/kmb/kmb_dsi.c | 94

[PATCH v2 08/59] drm/kmb: Added mipi_dsi_host initialization

2020-07-14 Thread Anitha Chrisanthus
Added mipi DSI host initialization functions Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_dsi.c | 59 +++ drivers/gpu/drm/kmb/kmb_dsi.h | 4 +++ 2 files changed, 63 insertions(+) diff --git a/drivers/gpu/drm/kmb

[PATCH v2 11/59] drm/kmb: Use correct mmio offset from data book

2020-07-14 Thread Anitha Chrisanthus
Also added separate macros for lcd and mipi register accesses that use the corrected mmio offset. mmio oofset will be read from the device tree in the future. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_crtc.c | 49

[PATCH v2 40/59] drm/kmb: Added LCD_TEST config

2020-07-14 Thread Anitha Chrisanthus
To run modetest without ADV driver, enable LCD_TEST and FCC_TEST. Also made front porches 0, and some changes in the plane init. v2: upclassed dev_private Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_crtc.c | 13 +++ drivers/gpu/drm/kmb/kmb_drv.c | 6 +-- drivers/gpu

[PATCH v2 59/59] drm/kmb: work around for planar formats

2020-07-14 Thread Anitha Chrisanthus
Set the DMA Vstride and Line width for U and V planes to the same as the Y plane and not the actual pitch. Bit18 of layer config does not have any effect when U and V planes are swapped, so swap it in the driver. Signed-off-by: Anitha Chrisanthus Reviewed-by: Edmund Dea --- drivers/gpu/drm/kmb

[PATCH v2 42/59] drm/kmb: Update LCD programming to match MIPI

2020-07-14 Thread Anitha Chrisanthus
Mipi input expects the memory layout to be unpacked with 8 bits per pixel in RGB (BRG) order. If the LCD is not configured properly, corrupted output results, changed dma_unpacked to 0 in mipi FG. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_crtc.c

[PATCH v2 50/59] drm/kmb: Do the layer initializations only once

2020-07-14 Thread Anitha Chrisanthus
The issue was video starts fine, but towards the end, the color disappers. Do the layer initializations only once, but update the DMA registers for every frame. Also changed DRM_INFO to DRM_DEBUG. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_plane.c

[PATCH 07/59] drm/kmb: Set OUT_FORMAT_CFG register

2020-06-30 Thread Anitha Chrisanthus
v2: code review changes Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_plane.c | 14 +- drivers/gpu/drm/kmb/kmb_regs.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/kmb/kmb_plane.c b/drivers/gpu/drm/kmb

[PATCH 04/59] drm/kmb: Use biwise operators for register definitions

2020-06-30 Thread Anitha Chrisanthus
Did some general clean up and organization. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 3 +- drivers/gpu/drm/kmb/kmb_regs.h | 852 +++-- 2 files changed, 307 insertions(+), 548 deletions(-) diff --git

[PATCH 05/59] drm/kmb: Updated kmb_plane_atomic_check

2020-06-30 Thread Anitha Chrisanthus
Check if format is supported and size is within limits. v2: simplified the code as per code review Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_plane.c | 111 +++- 1 file changed, 65 insertions(+), 46 deletions

[PATCH 06/59] drm/kmb: Initial check-in for Mipi DSI

2020-06-30 Thread Anitha Chrisanthus
Basic frame work for mipi encoder and connector. More hardware specific details will be added in the future commits. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/Makefile | 2 +- drivers/gpu/drm/kmb/kmb_drv.c | 2 + drivers/gpu/drm/kmb/kmb_dsi.c | 114

[PATCH 03/59] drm/kmb: Set correct values in the LAYERn_CFG register

2020-06-30 Thread Anitha Chrisanthus
During update plane, set the layer format, bpp, fifo level, RGB order, Cb/Cr order etc. in the LAYER_CFG register. v2: Return val in set_pixel and set_bpp instead of passing in pointer, Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_plane.c | 145

[PATCH 59/59] drm/kmb: work around for planar formats

2020-06-30 Thread Anitha Chrisanthus
Set the DMA Vstride and Line width for U and V planes to the same as the Y plane and not the actual pitch. Bit18 of layer config does not have any effect when U and V planes are swapped, so swap it in the driver. Signed-off-by: Anitha Chrisanthus Reviewed-by: Edmund Dea --- drivers/gpu/drm/kmb

[PATCH 26/59] drm/kmb: rebase to newer kernel version

2020-06-30 Thread Anitha Chrisanthus
cleanup code Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 5 +++-- drivers/gpu/drm/kmb/kmb_drv.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_drv.c b/drivers/gpu/drm/kmb/kmb_drv.c index b0ab40b..1f0dcbe 100644

[PATCH 30/59] drm/kmb: call bridge init in the very beginning

2020-06-30 Thread Anitha Chrisanthus
of probe and return probe_defer early on, so that all the other initializations can be done after adv driver is loaded successfully. Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 81 ++-- drivers/gpu/drm/kmb/kmb_dsi.c | 144

[PATCH 33/59] drm/kmb: Initialize clocks for clk_msscam, clk_mipi_ecfg, & clk_mipi_cfg.

2020-06-30 Thread Anitha Chrisanthus
From: Edmund Dea Note that we enable clk_msscam but do not set clk_msscam. However, we do enable and set clk_mipi_ecfg and clk_mipi_cfg. Verify that LCD and MIPI clocks are set successfully. Signed-off-by: Edmund Dea --- drivers/gpu/drm/kmb/kmb_drv.c | 112

[PATCH 52/59] drm/kmb: Cleaned up code

2020-06-30 Thread Anitha Chrisanthus
From: Edmund Dea to remove compiler warnings and general clean up Signed-off-by: Edmund Dea --- drivers/gpu/drm/kmb/kmb_crtc.c | 48 +- drivers/gpu/drm/kmb/kmb_crtc.h |6 +- drivers/gpu/drm/kmb/kmb_drv.c | 115 +++-- drivers/gpu/drm/kmb/kmb_drv.h | 107 ++--

[PATCH 22/59] drm/kmb: Set hardcoded values to LCD_VSYNC_START

2020-06-30 Thread Anitha Chrisanthus
Myriadx code has it set to these values. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_crtc.c | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_crtc.c b/drivers/gpu/drm/kmb/kmb_crtc.c index b2b50cc

[PATCH 29/59] drm/kmb: Defer Probe

2020-06-30 Thread Anitha Chrisanthus
Register DSI host first and then defer probe until ADV bridge is initialized. Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 144 ++ drivers/gpu/drm/kmb/kmb_dsi.c | 46 -- drivers/gpu/drm/kmb/kmb_dsi.h | 3 +- 3 files

[PATCH 18/59] drm/kmb: Part8 of Mipi Tx Initialization

2020-06-30 Thread Anitha Chrisanthus
This initializes the interrupts for DSI. This is the final part of mipi DSI initialization. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 1 + drivers/gpu/drm/kmb/kmb_drv.h | 30 +++- drivers/gpu/drm/kmb/kmb_dsi.c | 46

[PATCH 41/59] drm/kmb: Changes for LCD to Mipi

2020-06-30 Thread Anitha Chrisanthus
Also free dsi resources on driver unload. System clock frequency change for llp ratio calculation. Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_crtc.c | 21 --- drivers/gpu/drm/kmb/kmb_drv.c | 6 +- drivers/gpu/drm/kmb/kmb_drv.h | 1 + drivers/gpu/drm/kmb

[PATCH 14/59] drm/kmb: Correct address offsets for mipi registers

2020-06-30 Thread Anitha Chrisanthus
Mipi HS registers start at an additional offset of 0x400 which needs to be added at the register macro definition and not at the read/write function level. v2: replaced calculations with macro to make code simpler Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm

[PATCH 01/59] drm/kmb: Add support for KeemBay Display

2020-06-30 Thread Anitha Chrisanthus
Initial check-in for basic display driver for KeemBay family of SOCs. This is not tested and does not work and also there are many TBDs in the code which will be implemented in future commits. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/Kconfig | 2

[PATCH 02/59] drm/kmb: Added id to kmb_plane

2020-06-30 Thread Anitha Chrisanthus
This is to keep track of the id of the plane as there are 4 planes in Kmb and when update() is called, we need to know which plane need to be updated so that the corresponding plane's registers can be programmed. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb

[PATCH 38/59] drm/kmb: Mipi DPHY initialization changes

2020-06-30 Thread Anitha Chrisanthus
Fix test_mode_send and dphy_wait_fsm for 2-lane MIPI - Fix test_mode_send when sending normal mode test codes - Change dphy_wait_fsm to check for IDLE status rather than LOCK status for 2-lane MIPI Signed-off-by: Anitha Chrisanthus Signed-off-by: Edmund Dea --- drivers/gpu/drm/kmb

[PATCH 21/59] drm/kmb: IRQ handlers for LCD and mipi dsi

2020-06-30 Thread Anitha Chrisanthus
Added handlers for lcd and mipi, it only finds and clears the interrupt as of now, more functionality can be added as needed. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 51 -- drivers/gpu/drm/kmb

[PATCH 13/59] drm/kmb: Part4 of Mipi Tx Initialization

2020-06-30 Thread Anitha Chrisanthus
This initializes the mipi high speed transmitter CTRL and SYNC configuration registers. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_dsi.c | 55 -- drivers/gpu/drm/kmb/kmb_regs.h | 29 +- 2

[PATCH 47/59] drm/kmb: Don’t inadvertantly disable LCD controller

2020-06-30 Thread Anitha Chrisanthus
setbits instead of write dword for LCD_CONTROL register this was inadvertantly disabling the LCD controller. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_plane.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/kmb

[PATCH 23/59] drm/kmb: Additional register programming to update_plane

2020-06-30 Thread Anitha Chrisanthus
These changes are ported from Myriadx which has additional registers updated for planes. This change does the following reinitialize plane interrupts program Cb/Cr for planar formats set LCD_CTRL_VHSYNC_IDLE_LVL set output format and configure csc v2: code review changes Signed-off-by: Anitha

[PATCH 12/59] drm/kmb: Part3 of Mipi Tx initialization

2020-06-30 Thread Anitha Chrisanthus
This initializes the multichannel fifo in the mipi transmitter and sets the LCD to mipi interconnect which connects LCD to MIPI ctrl #6 v2: code review changes to make code simpler Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.h | 25

[PATCH 10/59] drm/kmb: Part 2 of Mipi Tx Initialization

2020-06-30 Thread Anitha Chrisanthus
Mipi TX Frame generator timing configuration Compute and set frame generator timings like hactive, front porch, back porch etc. v2: minor code review changes Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_dsi.c | 132

[PATCH 00/59] Add support for Keem Bay DRM driver

2020-06-30 Thread Anitha Chrisanthus
board is not in mainline and so Device tree changes are missing. Anitha Chrisanthus (52): drm/kmb: Add support for KeemBay Display drm/kmb: Added id to kmb_plane drm/kmb: Set correct values in the LAYERn_CFG register drm/kmb: Use biwise operators for register definitions drm/kmb: U

[PATCH 08/59] drm/kmb: Added mipi_dsi_host initialization

2020-06-30 Thread Anitha Chrisanthus
Added mipi DSI host initialization functions Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_dsi.c | 59 +++ drivers/gpu/drm/kmb/kmb_dsi.h | 4 +++ 2 files changed, 63 insertions(+) diff --git a/drivers/gpu/drm/kmb

[PATCH 11/59] drm/kmb: Use correct mmio offset from data book

2020-06-30 Thread Anitha Chrisanthus
Also added separate macros for lcd and mipi register accesses that use the corrected mmio offset. mmio oofset will be read from the device tree in the future. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_crtc.c | 49

[PATCH 48/59] drm/kmb: SWAP R and B LCD Layer order

2020-06-30 Thread Anitha Chrisanthus
Set swap bit for the colors to display correctly when the format is RGB and not set when its BGR. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_plane.c | 36 ++-- 1 file changed, 18 insertions(+), 18 deletions(-) diff

[PATCH 56/59] kmb/drm: Prune unsupported modes

2020-06-30 Thread Anitha Chrisanthus
KMB display pipeline is LCD->Mipi->HDMI. Mipi->HDMI converter chip only accepts 4-lane input from mipi. With 4-lane mipi, KMB hardware can only support 1080p resolution. Therefore, limit supported mode to 1080p. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gp

[PATCH 37/59] drm/kmb: Set MSS_CAM_RSTN_CTRL along with enable

2020-06-30 Thread Anitha Chrisanthus
Also moved num_planes init before load, time out for dsi fixed kmb regs read/write to only pass dev_p and few other minor changes. Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 32 ++-- drivers/gpu/drm/kmb/kmb_drv.h | 34

[PATCH 16/59] drm/kmb: Part6 of Mipi Tx Initialization

2020-06-30 Thread Anitha Chrisanthus
This is part2 of DPHY initialization- sets up DPHY PLLs. v2: simplified mipi_tx_get_vco_params() based on review v3: added WARN_ON for invalid freq v4: fixed bug in mipi_tx_get_vco_params Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_dsi.c | 194

[PATCH 51/59] drm/kmb: Write to LCD_LAYERn_CFG only once

2020-06-30 Thread Anitha Chrisanthus
From: Edmund Dea Video artifacts appear during playback as horizontal lines that sporadically appear every few frames. Issue was caused by writing to LCD_LAYERn_CFG register twice during plane updates. Issue is fixed by writing to LCD_LAYERn_CFG only once. Removed plane_init_status so that

[PATCH 24/59] drm/kmb: Add ADV7535 bridge

2020-06-30 Thread Anitha Chrisanthus
Find ADV 7535 from the device tree and get the bridge driver and attach it to the DRM and the MIPI encoder. v2: check for valid encoder node Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 27 ++- drivers/gpu/drm/kmb

[PATCH 55/59] drm/kmb: Added useful messages in LCD ISR

2020-06-30 Thread Anitha Chrisanthus
Print messages for LCD DMA FIFO errors. Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 68 +++-- drivers/gpu/drm/kmb/kmb_plane.h | 2 ++ 2 files changed, 60 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_drv.c b

[PATCH 43/59] drm/kmb: Changed name of driver to kmb-drm

2020-06-30 Thread Anitha Chrisanthus
name change Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/Makefile | 4 ++-- drivers/gpu/drm/kmb/kmb_drv.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/kmb/Makefile b/drivers/gpu/drm/kmb/Makefile index 8102bc9

[PATCH 40/59] drm/kmb: Added LCD_TEST config

2020-06-30 Thread Anitha Chrisanthus
To run modetest without ADV driver, enable LCD_TEST and FCC_TEST. Also made front porches 0, and some changes in the plane init. Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_crtc.c | 13 +++ drivers/gpu/drm/kmb/kmb_drv.c | 6 +-- drivers/gpu/drm/kmb/kmb_drv.h | 3

[PATCH 58/59] drm/kmb: Get System Clock from SCMI

2020-06-30 Thread Anitha Chrisanthus
System clock is different for A0 and B0 silicons, so get it directly from clk_PLL0 through SCMI calls. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.c | 11 +++ drivers/gpu/drm/kmb/kmb_drv.h | 1 + drivers/gpu/drm/kmb/kmb_dsi.c | 12

[PATCH 15/59] drm/kmb: Part5 of Mipi Tx Intitialization

2020-06-30 Thread Anitha Chrisanthus
This is part1 of DPHY initialization. v2: remove kmb_write() as the function provides no benefit over calling writel() directly. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers/gpu/drm/kmb/kmb_drv.h | 5 - drivers/gpu/drm/kmb/kmb_dsi.c | 346

[PATCH 46/59] drm/kmb: Enable LCD interrupts during modeset

2020-06-30 Thread Anitha Chrisanthus
The issue was that spurious interrupts were happening before the LCD controller was enabled and system hangs. Fix is to clear LCD interrupts and disable them before modeset and re enable them after enabling LCD controller. Signed-off-by: Anitha Chrisanthus Reviewed-by: Bob Paauwe --- drivers

[PATCH 54/59] drm/kmb: Initialize uninitialized variables

2020-06-30 Thread Anitha Chrisanthus
general cleaning Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_dsi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_dsi.c b/drivers/gpu/drm/kmb/kmb_dsi.c index 977fcb8..8a12d6d 100644 --- a/drivers/gpu/drm/kmb/kmb_dsi.c +++ b

  1   2   >