aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-08-15drm/i915/hsw+: Add support for multiple power well regsImre Deak4-33/+68
Future platforms increase the number of power wells which require additional control registers. A convenient way to select the correct register is to use the high bits of the power well ID as index. This patch only prepares for this, while upcoming platform enabling patches will add the actual new power well IDs and corresponding power well control registers. Cc: Paulo Zanoni <[email protected]> Cc: Animesh Manna <[email protected]> Cc: Rakshmi Bhatia <[email protected]> Signed-off-by: Imre Deak <[email protected]> Reviewed-by: Animesh Manna <[email protected]> Reviewed-by: Rakshmi Bhatia <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-08-15drm: omapdrm: Remove dss_features.hLaurent Pinchart12-38/+3
The header file only contains four macros, two of which are never used. Move the other two to dss.h and remove dss_features.h. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move supported outputs feature to dss driverLaurent Pinchart7-211/+81
The supported outputs feature is specific to the DSS, move it from the omap_dss_features structure to the dss driver. The omap_dss_features structure is now empty and can be removed. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move DSS_FCK feature to dss driverLaurent Pinchart6-57/+18
The FEAT_PARAM_DSS_FCK feature is specific to the DSS, move it from the omap_dss_features structure to the dss driver. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move PCD, LINEWIDTH and DOWNSCALE features to dispc driverLaurent Pinchart3-36/+39
The FEAT_PARAM_DSS_PCD, FEAT_PARAM_LINEWIDTH and FEAT_PARAM_DOWNSCALE features are specific to the DISPC, move them from the omap_dss_features structure to the dispc driver. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move FEAT_PARAM_DSI* features to dsi driverLaurent Pinchart3-14/+19
The FEAT_PARAM_DSI* features are specific to the DSI, move them from the omap_dss_features structure to the dsi driver. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move FEAT_* features to dispc driverLaurent Pinchart3-266/+190
All the remaining FEAT_* features are specific to the DISPC, move them from the omap_dss_features structure to the dispc driver. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move FEAT_LCD_CLK_SRC feature to dss_features structureLaurent Pinchart3-9/+11
The FEAT_LCD_CLK_SRC feature is specific to the DSS, move it from the omap_dss_features structure to the dss_features structure. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move FEAT_DPI_USES_VDDS_DSI feature to dpi codeLaurent Pinchart3-4/+12
The FEAT_DPI_USES_VDDS_DSI feature is specific to the DPI, move it from the omap_dss_features structure to the dpi code. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move FEAT_HDMI_* features to hdmi4 driverLaurent Pinchart4-9/+37
The FEAT_HDMI_* features are specific to the HDMI4, move them from the omap_dss_features structure to the hdmi4 driver. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move FEAT_DSI_* features to dsi driverLaurent Pinchart3-72/+88
The FEAT_DSI_* features are specific to the DSI, move them from the omap_dss_features structure to the dsi driver. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move FEAT_VENC_REQUIRES_TV_DAC_CLK to venc driverLaurent Pinchart3-4/+13
The FEAT_VENC_REQUIRES_TV_DAC_CLK is specific to the VENC, move it from the omap_dss_features structure to the venc driver. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move reg_fields to dispc_features structureLaurent Pinchart3-112/+76
The reg_fields feature describes DISPC registers only. Move it from the omap_dss_features structure to the dispc_features structure. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move DISPC_CLK_SWITCH reg feature to struct dss_featuresLaurent Pinchart4-15/+16
The register belongs to the DSS, move the feature to the dss_features structure. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move num_ovls and num_mgrs to dispc_features structureLaurent Pinchart3-58/+66
The num_ovls and num_mgrs are dispc features. Move them from the omap_dss_features structure to the dispc_features structure. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move overlay caps features to dispc_features structureLaurent Pinchart3-84/+102
The overlay_caps is a dispc feature. Move it from the omap_dss_features structure to the dispc_features structure. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move color modes feature to dispc_features structureLaurent Pinchart3-136/+124
The supported_color_modes is a dispc feature. Move it from the omap_dss_features structure to the dispc_features structure. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move size unit features to dispc_features structureLaurent Pinchart3-41/+18
The buffer_size_unit and burst_size_unit are dispc features. Move them from the omap_dss_features structure to the dispc_features structure. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move shutdown() handler from core to dssLaurent Pinchart2-20/+16
In preparation for removal of the core module, move the shutdown() handler from core to dss. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Tomi Valkeinen <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Move all debugfs code from core to dssLaurent Pinchart3-89/+84
debugfs code is spread between the core and dss drivers. In preparation for removal of the core driver, move it all to the dss driver. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: dss: Initialize DSS internal features at probe timeLaurent Pinchart1-13/+13
The DSS internal features are derived from the platform device compatible string which is available at probe time. Don't delay initialization until bind time. This prepares for the merge of the two DSS features structures that will be needed before the DSS is bound. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: dss: Use supported outputs instead of display typesLaurent Pinchart3-87/+17
The dss driver uses the supported display types to check whether the DSS has SDI, VENC or HDMI outputs. We can instead use the supported outputs the provide the same information. This removes the last use of the supported display types, that we can then remove as well. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: dss: Select features based on compatible stringLaurent Pinchart1-68/+29
Use the compatible string instead of the OMAP SoC revision to determine device features. The various OMAP3-based SoCs can't be told apart using the compatible string, use soc_device_match() to tell them apart. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Tomi Valkeinen <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: dpi: Replace OMAP SoC model checks with DSS modelLaurent Pinchart3-37/+45
The DPI code only needs to differentiate between major OMAP revisions, which can be obtained from the DSS compatible string. Replace the OMAP SoC model checks to prepare for removal of the OMAP SoC version platform data. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: dispc: Select features based on compatible stringLaurent Pinchart1-60/+27
Use the compatible string instead of the OMAP SoC revision to determine device features. On OMAP34xx the features depend on the ES revision that can not be determined from the compatible string. Use soc_device_match() in that case. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Tomi Valkeinen <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: Don't forward set_min_bus_tput() to no-op platform codeLaurent Pinchart2-11/+6
The OMAP implementation of the set_min_bus_tput() API is a no-op. There's no point in forwarding the driver calls to the platform code. Remove the use of the related platform data callback, but keep the internal function as a reminder that the feature will need to be implemented when the OMAP platform will provide support. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Tomi Valkeinen <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: dsi: Handle pin muxing internallyLaurent Pinchart3-25/+79
Don't rely on callback functions provided by the platform, but access the syscon internally to mux the DSI pins. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Tomi Valkeinen <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: dsi: Store DSI model and PLL hardware data in OF dataLaurent Pinchart1-61/+55
The DSI PLL hardware data and DSS channels are selected based on the OMAP SoC model. There's no need for fine-grained model information, as the driver only needs to differentiate between OMAP3, OMAP4 and OMAP5. As this can be done through the DSI compatible string, store the corresponding information in OF match data instead to avoid accessing the OMAP SoC model. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: dss: Split operations out of dss_features structureLaurent Pinchart1-15/+35
Move the two function pointers to a new dss_ops structure. This will allow merging the dss_features and omap_dss_features structures without having to expose the DPI source selection and LCD clock muxing functions in header files. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: hdmi: Store PHY features in PHY data structureLaurent Pinchart2-15/+15
PHY features are stored in a global variable, while they should be properties of the PHY object. As existing OMAP platforms have a single HDMI PHY this doesn't cause any issue, but doesn't follow the driver model. Move the PHY features to the HDMI PHY data structure to follow the driver model and pave the road for multiple HDMI PHYs support. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Tomi Valkeinen <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: venc: Don't export omap_dss_pal_vm and omap_dss_ntsc_vmLaurent Pinchart2-11/+2
The two variables are never used outside of their compilation unit, make them static. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: dpi: Remove unneeded regulator checkLaurent Pinchart1-10/+3
The dpi_display_enable() function ensures that a VDDS_DSI regulator is available if the DSI uses the VDDS_DSI supply. This is not needed, as a failure to get the VDDS_DSI supply will result in a probe failure, dpi_display_enable() will thus never be called in that case. Remove the check, and replace tests for the FEAT_DPI_USES_VDDS_DSI feature with a test for the regulator object. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: panel-dpi: Remove unneeded check for OF nodeLaurent Pinchart1-0/+3
As non-DT booting is no longer supported, the only way to instantiate the device is through an OF node, which is guaranteed to be present. Remove the unneeded check. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: connector-analog-tv: Remove unneeded check for OF nodeLaurent Pinchart1-0/+3
As non-DT booting is no longer supported, the only way to instantiate the device is through an OF node, which is guaranteed to be present. Remove the unneeded check. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm: omapdrm: acx565akm: Remove unneeded check for OF nodeLaurent Pinchart1-0/+3
As non-DT booting is no longer supported, the only way to instantiate the device is through an OF node, which is guaranteed to be present. Remove the unneeded check. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15ARM: OMAP2+: Register SoC device attributes from machine .init()Laurent Pinchart2-1/+1
SoC device attributes are registered with a call to soc_device_register() from the machine .init_late() operation, which is called from the late initcall, after all drivers built-in drivers have been probed. This results in the impossibility for drivers to use SoC device matching in their probe function. The omap_soc_device_init() function is safe to call from the machine .init() operation, as all data it depends on is initialized from the .init_early() operation. Move SoC device attribute registration to machine .init() like on all other ARM platforms. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm/omap: panel-dsi-cm: constify attribute_group structures.Arvind Yadav1-1/+1
attribute_groups are not supposed to change at runtime. All functions working with attribute_groups provided by <linux/sysfs.h> work with const attribute_group. So mark the non-const structs as const. File size before: text data bss dec hex filename 4669 464 0 5133 140d panel-dsi-cm.o File size After adding 'const': text data bss dec hex filename 4725 400 0 5125 1405 panel-dsi-cm.o Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm/omap: panel-sony-acx565akm: constify attribute_group structures.Arvind Yadav1-1/+1
attribute_groups are not supposed to change at runtime. All functions working with attribute_groups provided by <linux/sysfs.h> work with const attribute_group. So mark the non-const structs as const. File size before: text data bss dec hex filename 5147 560 0 5707 164b panel-sony-acx565akm.o File size After adding 'const': text data bss dec hex filename 5211 496 0 5707 164b panel-sony-acx565akm.o Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm/omap: constify attribute_group structures.Arvind Yadav1-1/+1
attribute_groups are not supposed to change at runtime. All functions working with attribute_groups provided by <linux/sysfs.h> work with const attribute_group. So mark the non-const structs as const. File size before: text data bss dec hex filename 2673 368 0 3041 be1 panel-tpo-td043mtea1.o File size After adding 'const': text data bss dec hex filename 2721 304 0 3025 bd1 panel-tpo-td043mtea1.o Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm/omap: dma-buf: Constify dma_buf_ops structures.Arvind Yadav1-1/+1
dma_buf_ops are not supposed to change at runtime. All functions working with dma_buf_ops provided by <linux/dma-buf.h> work with const dma_buf_ops. So mark the non-const structs as const. File size before: text data bss dec hex filename 1240 112 0 1352 548 drivers/gpu/drm/omapdrm/omap_gem_dmabuf.o File size After adding 'const': text data bss dec hex filename 1352 0 0 1352 548 drivers/gpu/drm/omapdrm/omap_gem_dmabuf.o Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm/omap: omap_display_timings: constify videomode structuresJulia Lawall2-2/+2
The videomode structures are only copied into the vm field of a panel_drv_data structure, so they can be const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm/omap: displays: encoder-tpd12s015: Support for hot plug detectionPeter Ujfalusi1-0/+81
Use interrupt handler for hpd GPIO to react to HPD changes. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm/omap: displays: connector-hdmi: Support for hot plug detectionPeter Ujfalusi1-0/+104
If the hpd_gpio is valid, use interrupt handler to react to HPD changes. In case the hpd_gpio is not valid, try to enable hpd detection on the encoder if it supports it. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm/omap: Support for HDMI hot plug detectionPeter Ujfalusi3-1/+82
The HPD signal can be used for detecting HDMI cable plug and unplug event without the need for polling the status of the line. This will speed up detecting such event because we do not need to wait for the next poll event to notice the state change. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm/omap: fix memory leak when FB init failsTomi Valkeinen1-1/+1
omap_framebuffer_create() fails to unref all the gem objects if creating the FB fails, leading to a memory leak. Fix the loop so that it goes through all the reffed gem objects. Signed-off-by: Tomi Valkeinen <[email protected]>
2017-08-15drm/i915: Work around GCC anonymous union initialization bugImre Deak1-24/+54
GCC 4.4 can't cope with anonymous union initializers which seems to be a bug in that version (see the Reference) and is fixed since GCC version 4.6. A workaround which is also used elsewhere in the kernel for the same purpose is to wrap the initialization in curly braces, so do the same here. Fixes: b5565a2efc12 ("drm/i915/bxt, glk: Give a proper name to the power well struct phy field") Reference: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10676 Reported-by: Fengguang Wu <[email protected]> Cc: Arkadiusz Hiler <[email protected]> Signed-off-by: Imre Deak <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-08-15Merge tag 'gvt-next-2017-08-15' of https://github.com/01org/gvt-linux into ↵Daniel Vetter18-133/+297
drm-intel-next-queued gvt-next-2017-08-15 gvt update for 4.14 - MMIO save/restore optimization (Changbin) - Split workload scan vs. dispatch for more parallel exec (Ping) - vGPU full 48bit ppgtt support (Joonas, Tina) - vGPU hw id expose for perf (Zhenyu) - other misc cleanup and fixes Signed-off-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-08-15drm/i915: Initialize 'data' in intel_dsi_dcs_backlight.cBalasubramaniam, Hari Chand1-1/+1
variable 'data' may be used uninitialized in this function. thus, 'function dcs_get_backlight' will return unwanted value/fail. Thus, adding NULL initialized to 'data' variable will solve the return failure happening. v2: Change commit message to reflect upstream with proper message Fixes: 90198355b83c ("drm/i915/dsi: Add DCS control for Panel PWM") Cc: Jani Nikula <[email protected]> Cc: Daniel Vetter <[email protected]> Cc: Yetunde Adebisi <[email protected]> Cc: Deepak M <[email protected]> Cc: Jani Nikula <[email protected]> Signed-off-by: Balasubramaniam, Hari Chand <[email protected]> Reviewed-by: Jani Nikula <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/1502762746-191826-1-git-send-email-hari.chand.balasubramaniam@intel.com
2017-08-15drm/i915/dp: Validate the compliance test link parametersManasi Navare1-17/+17
Validate the compliance test link parameters when the compliance test dpcd registers are read. Also validate them in compute_config before using them since the max values might have been reduced due to link training fallback. If either the link rate or lane count is invalid, we still bail from using the test parameters since the combination would not work and instead use the fallback values. v2: * Added commit message to explain why we still bail when either of of the params is invalid (Ville Syrjala) * Add reason for validating in the comment (Jani Nikula) * Also check if index >= 0 after validating (Jani Nikula) Signed-off-by: Manasi Navare <[email protected]> Cc: Jani Nikula <[email protected]> Cc: Ville Syrjala <[email protected]> Reviewed-by: Jani Nikula <[email protected]> Tested-by: Nathan Ciobanu <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-08-15drm/i915/dp: Generalize intel_dp_link_params function to accept arguments to ↵Manasi Navare1-6/+8
be validated This function now takes the link rate and lane ocunt to be validated as an argument so that this can be used for validating even the compliance test link parameters. Signed-off-by: Manasi Navare <[email protected]> Cc: Ville Syrjala <[email protected]> Cc: Jani Nikula <[email protected]> Reviewed-by: Jani Nikula <[email protected]> Tested-by: Nathan Ciobanu <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]