- Aug 19, 2020
-
-
Mauro Carvalho Chehab authored
Add a description of the bindings used by Kirin 960/970 Display Serial Interface (DSI) controller and by its Display Engine (DPE). Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
This is part of support for a panel display. Those don't come with the Hikey 960 or 970 boards. As I don't have any of those for tests, and we didn't port another required driver for this to work, for now, let's drop it. This patch can be reversed later, if one would be adding support for it. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Add the needed bits for the DRM driver to work with the Hikey 970 board. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Add a device tree for the HiSilicon 6421v600 SPMI PMIC, used on HiKey970 board. As we now have support for it, change the fixed regulators used by the SD I/O to use the proper LDO supplies. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
There are several pinctrl settings that are missing at this DT file. Also, the entries are out of order. Add the missing bits, as they'll be required by the DRM driver - and probably by other drivers not upstreamed yet. Reorder the entres, adding the missing bits. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
The I2C buses are not declared at the device tree. As this will be needed by further patches, add them, keeping all in disabled state. Per-board settings can override it. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
There are lots of ifdefs checking if the SoC version is 960 or 970. Replace them all by runtime definitions. With that, the same DRM driver should work with both versions. The behavior will dynamically change depending on the OF compatible strings. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
There are lots of things that are identical for both Kirin 960 and Kirin 970. Place those identical ones on a common file, removing unused structs. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
There are some things inside struct dss_hw_ctx that are unused. Get rid of them. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
The DPE headers define several macros for I/O. Get rid of them by replacing by the Linux ones. In the specific case of outp32(), I used this small coccinelle script to change them to writel(): @ rule1 @ expression addr, val; @@ -outp32(addr, val) +writel(val, addr) Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
There are a few typedefs inside this driver. Get rid of them. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Now that everything is in place, add the driver to the building system. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
While this driver apparently supports both IOMMU and no-IOMMU access, it always enable the IOMMU via some code, at the downstream version. Apparently, the downstream iommu is there just to get the physical address of the logical IOMMU address. Based on the downstream code, it sounds that the IOMMU would be an specific one for the GPU. Anyway, right now, the driver is set to not use the IOMMU at all. So, let's comment out the code which allocates IOMMU pages, and the code that would try to use it to setup a register, as, without the IOMMU, this would cause an OOPS. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
There are lots of coding style issues on this driver, as reported by checkpatch. Address most of them. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Use SPMI headers to identify the license of each file. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
This is needed for the DRM to work. Ok, right now, this is enabled on default fastboot logic, but, as soon as we enable the proper SPMI driver, such code is needed. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Do some cleanups at the mode validation code. Right now, there is a known issue with this driver which makes it to set up some invalid modes, depending on the display. We don't know yet what the issue is, so, instead, let's add a table with the modes which are known to work. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Those aren't needed anymore. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
call drm_connector_register() when initializing the connector. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Currently, the method is empty. However, looking at the driver, it sounds it shouldn't be hard to implement it. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
At least on current upstream Kernels, forcing an event parse during init time isn't needed anymore. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Those methods belong to crtc fops Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Instead of implementing it at the code, use the default methods from CMA helper Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
- Get rid of a global var meant to store one of its priv structs; - Change the name of the driver, in order to not be confused with the kirin6220; - Remove some unneeded ifdef; - use drm_of.h helper. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
The logich which sets the MIPI parameters is currently wrong: it is using a value stored at cur_client, with actually points to the active location, and not to the one that it is about to be initialized. The entire logic sounds buggy, but for now let's just keep following it, by adding an extra var that will tell what was the latest attached encoder. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
The logic there is more complex than it needs. It also places the device with a wrong setting if the flags are missed. This currently happens on Kirin970 for HDMI, as there's a bug at the part of the driver which selects between PANEL or OUTPUT at encoder init code. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Place both adv7535 and panel logic at the same routine, cleaning up things a little bit and fixing the includes. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Allocate the framebuffer memory via CMA, as otherwise the drm driver may not work properly with X11. Part of the changes here were based on a patch originally authored by: alik <hou.xiaoyong@hihope.org> The original version can be found at: https://github.com/Bigcountry907/linux/commit/046e29834ef1c523c73614747377d3660eec3964 Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
This is not used anymore on this version, so let's get rid of them. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
This function has a too generic name to export it as a symbol. Also, we should likely use some other macro instead. So, for now, just copy it into the Kirin9xx dsi module, in order for the driver to build. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
There were several changes at the upstream kAPIs since Kernel 4.4. Update the driver for it to build with the upstream Kernel. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
The includes there reflect a downstream version back on v4.4 times. change them to reflect the current upstream and to avoid the need of using a -I flag at the Makefile. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
Use the same standard as used on other Hisilicon DRM config vars for kirin9xx. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
There are some #ifdefs there for non-existing CONFIG_ options (nor even at the downstream code). Let's get rid of those. It can be re-added later if ever needed. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
We don't need to implement legacy fbdev support. Just use the FB emulation instead. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
There's already a driver with the same namespace for an older Kirin chipset. Rename this one, in order to make it clearer that this is the driver for Kirin 960/970. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
The OOT had a fork of adv7535 with some changes for it to work with a failing EDID retrival I/O. Get rid of it, as we'll be using the upstream driver. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Adjust pixel clock for compatibility with 10.1 inch special displays. Signed-off-by:
Xiubin Zhang <zhangxiubin1@huawei.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Add some debug prints on adv7535 and kirin_drm_drv. Signed-off-by:
Xiubin Zhang <zhangxiubin1@huawei.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-