Commit 43f86c94 authored by Dave Airlie's avatar Dave Airlie

Merge tag 'imx-drm-fixes-2017-02-17' of https://git.pengutronix.de/git/pza/linux into drm-next

imx-drm: TVE regulator, fb size limit, and ipu-v3 module fixes

- Fix i.MX5 TV encoder probing in case no dac-supply regulator
  is set in the device tree.
- Remove 64 pixel min_width/height limit, which unnecessarily
  prohibits creation of small frame buffers.
- Add missing ipu_csi_set_downsize export, for media drivers
  built as modules.
- Stop modifying pdev->dev.of_node for IPU client devices that
  do not have an OF modalias to fix module autoloading.

* tag 'imx-drm-fixes-2017-02-17' of https://git.pengutronix.de/git/pza/linux:
  gpu: ipu-v3: Stop overwriting pdev->dev.of_node of child devices
  gpu: ipu-v3: export ipu_csi_set_downsize
  drm/imx: lift 64x64 pixel minimum framebuffer size requirement
  drm/imx: imx-tve: Do not set the regulator voltage
parents 94000cc3 0e47b027
...@@ -357,8 +357,8 @@ static int imx_drm_bind(struct device *dev) ...@@ -357,8 +357,8 @@ static int imx_drm_bind(struct device *dev)
* this value would be used to check framebuffer size limitation * this value would be used to check framebuffer size limitation
* at drm_mode_addfb(). * at drm_mode_addfb().
*/ */
drm->mode_config.min_width = 64; drm->mode_config.min_width = 1;
drm->mode_config.min_height = 64; drm->mode_config.min_height = 1;
drm->mode_config.max_width = 4096; drm->mode_config.max_width = 4096;
drm->mode_config.max_height = 4096; drm->mode_config.max_height = 4096;
drm->mode_config.funcs = &imx_drm_mode_config_funcs; drm->mode_config.funcs = &imx_drm_mode_config_funcs;
......
...@@ -98,6 +98,8 @@ ...@@ -98,6 +98,8 @@
/* TVE_TST_MODE_REG */ /* TVE_TST_MODE_REG */
#define TVE_TVDAC_TEST_MODE_MASK (0x7 << 0) #define TVE_TVDAC_TEST_MODE_MASK (0x7 << 0)
#define IMX_TVE_DAC_VOLTAGE 2750000
enum { enum {
TVE_MODE_TVOUT, TVE_MODE_TVOUT,
TVE_MODE_VGA, TVE_MODE_VGA,
...@@ -616,9 +618,8 @@ static int imx_tve_bind(struct device *dev, struct device *master, void *data) ...@@ -616,9 +618,8 @@ static int imx_tve_bind(struct device *dev, struct device *master, void *data)
tve->dac_reg = devm_regulator_get(dev, "dac"); tve->dac_reg = devm_regulator_get(dev, "dac");
if (!IS_ERR(tve->dac_reg)) { if (!IS_ERR(tve->dac_reg)) {
ret = regulator_set_voltage(tve->dac_reg, 2750000, 2750000); if (regulator_get_voltage(tve->dac_reg) != IMX_TVE_DAC_VOLTAGE)
if (ret) dev_warn(dev, "dac voltage is not %d uV\n", IMX_TVE_DAC_VOLTAGE);
return ret;
ret = regulator_enable(tve->dac_reg); ret = regulator_enable(tve->dac_reg);
if (ret) if (ret)
return ret; return ret;
......
...@@ -1238,12 +1238,6 @@ static int ipu_add_client_devices(struct ipu_soc *ipu, unsigned long ipu_base) ...@@ -1238,12 +1238,6 @@ static int ipu_add_client_devices(struct ipu_soc *ipu, unsigned long ipu_base)
platform_device_put(pdev); platform_device_put(pdev);
goto err_register; goto err_register;
} }
/*
* Set of_node only after calling platform_device_add. Otherwise
* the platform:imx-ipuv3-crtc modalias won't be used.
*/
pdev->dev.of_node = of_node;
} }
return 0; return 0;
......
...@@ -544,6 +544,7 @@ void ipu_csi_set_downsize(struct ipu_csi *csi, bool horiz, bool vert) ...@@ -544,6 +544,7 @@ void ipu_csi_set_downsize(struct ipu_csi *csi, bool horiz, bool vert)
spin_unlock_irqrestore(&csi->lock, flags); spin_unlock_irqrestore(&csi->lock, flags);
} }
EXPORT_SYMBOL_GPL(ipu_csi_set_downsize);
void ipu_csi_set_test_generator(struct ipu_csi *csi, bool active, void ipu_csi_set_test_generator(struct ipu_csi *csi, bool active,
u32 r_value, u32 g_value, u32 b_value, u32 r_value, u32 g_value, u32 b_value,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment