* [PATCH 00/12] Fixing and cleaning
@ 2011-07-08 8:42 Alan Cox
2011-07-08 8:42 ` [PATCH 01/12] gma500: strip unneeded version headers Alan Cox
` (11 more replies)
0 siblings, 12 replies; 15+ messages in thread
From: Alan Cox @ 2011-07-08 8:42 UTC (permalink / raw)
To: greg, linux-kernel
Further cleanup plus fixes from other. The important one here is the gtt
Mask out bits patch.
---
Alan Cox (8):
gma500: Fix unused variable in cdv support
gma500; clean mid files
gma500: tidy the mrst files
gma500: tidy up the CDV files
gma500: Fix symbol clash with i915
gma500: psb_intel_lvds style
gma500: Re-order checks and dereferences in psb_intel_lvds
gma500: strip unneeded version headers
Dan Carpenter (3):
gma500: remove unneeded check in mdfld_crtc_mode_set()
gma500: reversed test in mdfld_dbi_dsr_exit()
Staging: gma500: typo in array initialization
Patrik Jakobsson (1):
gma500: Mask out bits not part of the page table base address
drivers/staging/gma500/cdv_device.c | 23 +++--
drivers/staging/gma500/cdv_intel_crt.c | 23 +++--
drivers/staging/gma500/cdv_intel_display.c | 115 ++++++++++++-------------
drivers/staging/gma500/cdv_intel_hdmi.c | 81 +++++++++---------
drivers/staging/gma500/cdv_intel_lvds.c | 20 +++-
drivers/staging/gma500/framebuffer.h | 1
drivers/staging/gma500/gtt.c | 2
drivers/staging/gma500/intel_opregion.c | 4 -
drivers/staging/gma500/mdfld_dsi_dbi.c | 2
drivers/staging/gma500/mdfld_dsi_dbi.h | 1
drivers/staging/gma500/mdfld_dsi_output.h | 1
drivers/staging/gma500/mdfld_dsi_pkg_sender.c | 2
drivers/staging/gma500/mdfld_intel_display.c | 2
drivers/staging/gma500/mid_bios.c | 10 +-
drivers/staging/gma500/mrst_device.c | 4 -
drivers/staging/gma500/psb_device.c | 2
drivers/staging/gma500/psb_drv.c | 2
drivers/staging/gma500/psb_drv.h | 5 -
drivers/staging/gma500/psb_intel_lvds.c | 58 +++++++------
19 files changed, 179 insertions(+), 179 deletions(-)
--
Signature
^ permalink raw reply [flat|nested] 15+ messages in thread* [PATCH 01/12] gma500: strip unneeded version headers 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox @ 2011-07-08 8:42 ` Alan Cox 2011-07-08 8:43 ` [PATCH 02/12] gma500: Re-order checks and dereferences in psb_intel_lvds Alan Cox ` (10 subsequent siblings) 11 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:42 UTC (permalink / raw) To: greg, linux-kernel From: Jesper Juhl <jj@chaosbits.net> Remove unneeded version.h includes from drivers/staging/gma500/ It was pointed out by 'make versioncheck' that some includes of linux/version.h are not needed in drivers/staging/gma500/. This patch removes them. Signed-off-by: Jesper Juhl <jj@chaosbits.net> [updated for all th file cleanup and movement] Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/framebuffer.h | 1 - drivers/staging/gma500/mdfld_dsi_dbi.h | 1 - drivers/staging/gma500/mdfld_dsi_output.h | 1 - drivers/staging/gma500/psb_drv.h | 1 - 4 files changed, 0 insertions(+), 4 deletions(-) diff --git a/drivers/staging/gma500/framebuffer.h b/drivers/staging/gma500/framebuffer.h index 9416a21..d1b2289 100644 --- a/drivers/staging/gma500/framebuffer.h +++ b/drivers/staging/gma500/framebuffer.h @@ -22,7 +22,6 @@ #ifndef _FRAMEBUFFER_H_ #define _FRAMEBUFFER_H_ -#include <linux/version.h> #include <drm/drmP.h> #include <drm/drm_fb_helper.h> diff --git a/drivers/staging/gma500/mdfld_dsi_dbi.h b/drivers/staging/gma500/mdfld_dsi_dbi.h index a76813e..a51e2f8 100644 --- a/drivers/staging/gma500/mdfld_dsi_dbi.h +++ b/drivers/staging/gma500/mdfld_dsi_dbi.h @@ -29,7 +29,6 @@ #define __MDFLD_DSI_DBI_H__ #include <linux/backlight.h> -#include <linux/version.h> #include <drm/drmP.h> #include <drm/drm.h> #include <drm/drm_crtc.h> diff --git a/drivers/staging/gma500/mdfld_dsi_output.h b/drivers/staging/gma500/mdfld_dsi_output.h index 0bf00ea..4300f10 100644 --- a/drivers/staging/gma500/mdfld_dsi_output.h +++ b/drivers/staging/gma500/mdfld_dsi_output.h @@ -29,7 +29,6 @@ #define __MDFLD_DSI_OUTPUT_H__ #include <linux/backlight.h> -#include <linux/version.h> #include <drm/drmP.h> #include <drm/drm.h> #include <drm/drm_crtc.h> diff --git a/drivers/staging/gma500/psb_drv.h b/drivers/staging/gma500/psb_drv.h index 9e4f361..c19045f 100644 --- a/drivers/staging/gma500/psb_drv.h +++ b/drivers/staging/gma500/psb_drv.h @@ -20,7 +20,6 @@ #ifndef _PSB_DRV_H_ #define _PSB_DRV_H_ -#include <linux/version.h> #include <linux/kref.h> #include <drm/drmP.h> ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 02/12] gma500: Re-order checks and dereferences in psb_intel_lvds 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox 2011-07-08 8:42 ` [PATCH 01/12] gma500: strip unneeded version headers Alan Cox @ 2011-07-08 8:43 ` Alan Cox 2011-07-08 20:44 ` Greg KH 2011-07-08 8:43 ` [PATCH 03/12] gma500: psb_intel_lvds style Alan Cox ` (9 subsequent siblings) 11 siblings, 1 reply; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:43 UTC (permalink / raw) To: greg, linux-kernel From: Alan Cox <alan@linux.intel.com> Dan Carpenter reports: Smatch complains about 6a7afe3acc4b "gma500: continue abstracting platform specific code" drivers/staging/gma500/psb_intel_lvds.c +579 psb_intel_lvds_set_property(7) warn: variable dereferenced before check 'encoder' --- a/drivers/staging/gma500/psb_intel_lvds.c +++ b/drivers/staging/gma500/psb_intel_lvds.c @@ -575,11 +575,12 @@ int psb_intel_lvds_set_property(struct drm_connector *connector, struct drm_property *property, uint64_t value) { - struct drm_encoder *pEncoder = connector->encoder; + struct drm_encoder *encoder = connector->encoder; + struct drm_psb_private *dev_priv = encoder->dev->dev_private; ^^^^^^^^^^^^ dereference encoder here. Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/psb_intel_lvds.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/staging/gma500/psb_intel_lvds.c b/drivers/staging/gma500/psb_intel_lvds.c index 4a0d234..1e1e788 100644 --- a/drivers/staging/gma500/psb_intel_lvds.c +++ b/drivers/staging/gma500/psb_intel_lvds.c @@ -574,9 +574,14 @@ int psb_intel_lvds_set_property(struct drm_connector *connector, uint64_t value) { struct drm_encoder *encoder = connector->encoder; - struct drm_psb_private *dev_priv = encoder->dev->dev_private; + struct drm_psb_private *dev_priv; + + if (!encoder) + return -1; - if (!strcmp(property->name, "scaling mode") && encoder) { + dev_priv = encoder->dev->dev_private; + + if (!strcmp(property->name, "scaling mode")) { struct psb_intel_crtc *pPsbCrtc = to_psb_intel_crtc(encoder->crtc); uint64_t curValue; @@ -617,7 +622,7 @@ int psb_intel_lvds_set_property(struct drm_connector *connector, encoder->crtc->fb)) goto set_prop_error; } - } else if (!strcmp(property->name, "backlight") && encoder) { + } else if (!strcmp(property->name, "backlight")) { if (drm_connector_property_set_value(connector, property, value)) @@ -631,7 +636,7 @@ int psb_intel_lvds_set_property(struct drm_connector *connector, } #endif } - } else if (!strcmp(property->name, "DPMS") && encoder) { + } else if (!strcmp(property->name, "DPMS")) { struct drm_encoder_helper_funcs *pEncHFuncs = encoder->helper_private; pEncHFuncs->dpms(encoder, value); ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 02/12] gma500: Re-order checks and dereferences in psb_intel_lvds 2011-07-08 8:43 ` [PATCH 02/12] gma500: Re-order checks and dereferences in psb_intel_lvds Alan Cox @ 2011-07-08 20:44 ` Greg KH 2011-07-09 0:57 ` Alan Cox 0 siblings, 1 reply; 15+ messages in thread From: Greg KH @ 2011-07-08 20:44 UTC (permalink / raw) To: Alan Cox; +Cc: linux-kernel On Fri, Jul 08, 2011 at 09:43:15AM +0100, Alan Cox wrote: > From: Alan Cox <alan@linux.intel.com> > > Dan Carpenter reports: > > Smatch complains about 6a7afe3acc4b "gma500: continue abstracting > platform specific code" > > drivers/staging/gma500/psb_intel_lvds.c +579 psb_intel_lvds_set_property(7) > warn: variable dereferenced before check 'encoder' > > --- a/drivers/staging/gma500/psb_intel_lvds.c > +++ b/drivers/staging/gma500/psb_intel_lvds.c > @@ -575,11 +575,12 @@ int psb_intel_lvds_set_property(struct drm_connector > *connector, > struct drm_property *property, > uint64_t value) > { > - struct drm_encoder *pEncoder = connector->encoder; > + struct drm_encoder *encoder = connector->encoder; > + struct drm_psb_private *dev_priv = encoder->dev->dev_private; > ^^^^^^^^^^^^ > dereference encoder here. > > Signed-off-by: Alan Cox <alan@linux.intel.com> Oh that played hell with git, please don't do that again... ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 02/12] gma500: Re-order checks and dereferences in psb_intel_lvds 2011-07-08 20:44 ` Greg KH @ 2011-07-09 0:57 ` Alan Cox 0 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-09 0:57 UTC (permalink / raw) To: Greg KH; +Cc: linux-kernel > > Signed-off-by: Alan Cox <alan@linux.intel.com> > > Oh that played hell with git, please don't do that again... Sorry didn't realise git was flaky in that area. Alan ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 03/12] gma500: psb_intel_lvds style 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox 2011-07-08 8:42 ` [PATCH 01/12] gma500: strip unneeded version headers Alan Cox 2011-07-08 8:43 ` [PATCH 02/12] gma500: Re-order checks and dereferences in psb_intel_lvds Alan Cox @ 2011-07-08 8:43 ` Alan Cox 2011-07-08 8:43 ` [PATCH 04/12] gma500: Fix symbol clash with i915 Alan Cox ` (8 subsequent siblings) 11 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:43 UTC (permalink / raw) To: greg, linux-kernel From: Alan Cox <alan@linux.intel.com> Fixed some stylistic uglies noticed while fixing the previous bug Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/psb_intel_lvds.c | 49 +++++++++++++++---------------- 1 files changed, 23 insertions(+), 26 deletions(-) diff --git a/drivers/staging/gma500/psb_intel_lvds.c b/drivers/staging/gma500/psb_intel_lvds.c index 1e1e788..c4111b5 100644 --- a/drivers/staging/gma500/psb_intel_lvds.c +++ b/drivers/staging/gma500/psb_intel_lvds.c @@ -30,10 +30,7 @@ #include "power.h" #include <linux/pm_runtime.h> -u32 CoreClock; -u32 PWMControlRegFreq; - -/** +/* * LVDS I2C backlight control macros */ #define BRIGHTNESS_MAX_LEVEL 100 @@ -51,7 +48,7 @@ u32 PWMControlRegFreq; #define PSB_BACKLIGHT_PWM_POLARITY_BIT_CLEAR (0xFFFE) struct psb_intel_lvds_priv { - /** + /* * Saved LVDO output states */ uint32_t savePP_ON; @@ -64,9 +61,8 @@ struct psb_intel_lvds_priv { uint32_t saveBLC_PWM_CTL; }; -/* MRST defines end */ -/** +/* * Returns the maximum level of the backlight duty cycle field. */ static u32 psb_intel_lvds_get_max_backlight(struct drm_device *dev) @@ -161,7 +157,7 @@ static int psb_lvds_pwm_set_brightness(struct drm_device *dev, int level) return 0; } -/** +/* * Set LVDS backlight level either by I2C or PWM */ void psb_intel_lvds_set_brightness(struct drm_device *dev, int level) @@ -183,10 +179,10 @@ void psb_intel_lvds_set_brightness(struct drm_device *dev, int level) psb_lvds_pwm_set_brightness(dev, level); } -/** +/* * Sets the backlight level. * - * \param level backlight level, from 0 to psb_intel_lvds_get_max_backlight(). + * level: backlight level, from 0 to psb_intel_lvds_get_max_backlight(). */ static void psb_intel_lvds_set_backlight(struct drm_device *dev, int level) { @@ -208,7 +204,7 @@ static void psb_intel_lvds_set_backlight(struct drm_device *dev, int level) } } -/** +/* * Sets the power state for the panel. */ static void psb_intel_lvds_set_power(struct drm_device *dev, @@ -501,7 +497,7 @@ static void psb_intel_lvds_mode_set(struct drm_encoder *encoder, REG_WRITE(PFIT_CONTROL, pfit_control); } -/** +/* * Detect the LVDS connection. * * This always returns CONNECTOR_STATUS_CONNECTED. @@ -514,7 +510,7 @@ static enum drm_connector_status psb_intel_lvds_detect(struct drm_connector return connector_status_connected; } -/** +/* * Return the list of DDC modes if available, or the BIOS fixed mode otherwise. */ static int psb_intel_lvds_get_modes(struct drm_connector *connector) @@ -575,18 +571,18 @@ int psb_intel_lvds_set_property(struct drm_connector *connector, { struct drm_encoder *encoder = connector->encoder; struct drm_psb_private *dev_priv; - + if (!encoder) - return -1; + return -1; dev_priv = encoder->dev->dev_private; if (!strcmp(property->name, "scaling mode")) { - struct psb_intel_crtc *pPsbCrtc = + struct psb_intel_crtc *crtc = to_psb_intel_crtc(encoder->crtc); uint64_t curValue; - if (!pPsbCrtc) + if (!crtc) goto set_prop_error; switch (value) { @@ -613,10 +609,10 @@ int psb_intel_lvds_set_property(struct drm_connector *connector, value)) goto set_prop_error; - if (pPsbCrtc->saved_mode.hdisplay != 0 && - pPsbCrtc->saved_mode.vdisplay != 0) { + if (crtc->saved_mode.hdisplay != 0 && + crtc->saved_mode.vdisplay != 0) { if (!drm_crtc_helper_set_mode(encoder->crtc, - &pPsbCrtc->saved_mode, + &crtc->saved_mode, encoder->crtc->x, encoder->crtc->y, encoder->crtc->fb)) @@ -629,11 +625,12 @@ int psb_intel_lvds_set_property(struct drm_connector *connector, goto set_prop_error; else { #ifdef CONFIG_BACKLIGHT_CLASS_DEVICE - struct backlight_device *bd = dev_priv->backlight_device; + struct backlight_device *bd = + dev_priv->backlight_device; if (bd) { - bd->props.brightness = value; - backlight_update_status(bd); - } + bd->props.brightness = value; + backlight_update_status(bd); + } #endif } } else if (!strcmp(property->name, "DPMS")) { @@ -749,7 +746,7 @@ void psb_intel_lvds_init(struct drm_device *dev, dev_priv->backlight_property, BRIGHTNESS_MAX_LEVEL); - /** + /* * Set up I2C bus * FIXME: distroy i2c_bus when exit */ @@ -797,7 +794,7 @@ void psb_intel_lvds_init(struct drm_device *dev, } } - /* Failed to get EDID, what about VBT? do we need this?*/ + /* Failed to get EDID, what about VBT? do we need this? */ if (mode_dev->vbt_mode) mode_dev->panel_fixed_mode = drm_mode_duplicate(dev, mode_dev->vbt_mode); ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 04/12] gma500: Fix symbol clash with i915 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox ` (2 preceding siblings ...) 2011-07-08 8:43 ` [PATCH 03/12] gma500: psb_intel_lvds style Alan Cox @ 2011-07-08 8:43 ` Alan Cox 2011-07-08 8:44 ` [PATCH 05/12] gma500: Mask out bits not part of the page table base address Alan Cox ` (7 subsequent siblings) 11 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:43 UTC (permalink / raw) To: greg, linux-kernel From: Alan Cox <alan@linux.intel.com> Randy Dunlap reports: | when both CONFIG_DRM_I915=y and CONFIG_DRM_PSB=y: | drivers/staging/built-in.o: In function `intel_opregion_init': | (.text+0x47943): multiple definition of `intel_opregion_init' | drivers/gpu/built-in.o:(.text+0x17277a): first defined here Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/cdv_device.c | 2 +- drivers/staging/gma500/intel_opregion.c | 4 ++-- drivers/staging/gma500/psb_device.c | 2 +- drivers/staging/gma500/psb_drv.c | 2 +- drivers/staging/gma500/psb_drv.h | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/gma500/cdv_device.c b/drivers/staging/gma500/cdv_device.c index 680f1bb..3729a97 100644 --- a/drivers/staging/gma500/cdv_device.c +++ b/drivers/staging/gma500/cdv_device.c @@ -319,7 +319,7 @@ static void cdv_get_core_freq(struct drm_device *dev) static int cdv_chip_setup(struct drm_device *dev) { cdv_get_core_freq(dev); - intel_opregion_init(dev); + gma_intel_opregion_init(dev); psb_intel_init_bios(dev); return 0; } diff --git a/drivers/staging/gma500/intel_opregion.c b/drivers/staging/gma500/intel_opregion.c index 8240965..d2e6037 100644 --- a/drivers/staging/gma500/intel_opregion.c +++ b/drivers/staging/gma500/intel_opregion.c @@ -47,7 +47,7 @@ struct opregion_acpi { /*FIXME: add it later*/ } __packed; -int intel_opregion_init(struct drm_device *dev) +int gma_intel_opregion_init(struct drm_device *dev) { struct drm_psb_private *dev_priv = dev->dev_private; u32 opregion_phy; @@ -71,7 +71,7 @@ int intel_opregion_init(struct drm_device *dev) return 0; } -int intel_opregion_exit(struct drm_device *dev) +int gma_intel_opregion_exit(struct drm_device *dev) { struct drm_psb_private *dev_priv = dev->dev_private; if (dev_priv->lid_state) diff --git a/drivers/staging/gma500/psb_device.c b/drivers/staging/gma500/psb_device.c index 0774c06..e26a176 100644 --- a/drivers/staging/gma500/psb_device.c +++ b/drivers/staging/gma500/psb_device.c @@ -322,7 +322,7 @@ static void psb_get_core_freq(struct drm_device *dev) static int psb_chip_setup(struct drm_device *dev) { psb_get_core_freq(dev); - intel_opregion_init(dev); + gma_intel_opregion_init(dev); psb_intel_init_bios(dev); return 0; } diff --git a/drivers/staging/gma500/psb_drv.c b/drivers/staging/gma500/psb_drv.c index 264fdf4..397b605 100644 --- a/drivers/staging/gma500/psb_drv.c +++ b/drivers/staging/gma500/psb_drv.c @@ -245,7 +245,7 @@ static int psb_driver_unload(struct drm_device *dev) if (dev_priv) { psb_lid_timer_takedown(dev_priv); - intel_opregion_exit(dev); + gma_intel_opregion_exit(dev); psb_do_takedown(dev); diff --git a/drivers/staging/gma500/psb_drv.h b/drivers/staging/gma500/psb_drv.h index c19045f..f5ecd6d 100644 --- a/drivers/staging/gma500/psb_drv.h +++ b/drivers/staging/gma500/psb_drv.h @@ -728,8 +728,8 @@ extern void mdfld_disable_te(struct drm_device *dev, int pipe); /* * intel_opregion.c */ -extern int intel_opregion_init(struct drm_device *dev); -extern int intel_opregion_exit(struct drm_device *dev); +extern int gma_intel_opregion_init(struct drm_device *dev); +extern int gma_intel_opregion_exit(struct drm_device *dev); /* * framebuffer.c ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 05/12] gma500: Mask out bits not part of the page table base address 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox ` (3 preceding siblings ...) 2011-07-08 8:43 ` [PATCH 04/12] gma500: Fix symbol clash with i915 Alan Cox @ 2011-07-08 8:44 ` Alan Cox 2011-07-08 8:44 ` [PATCH 06/12] gma500: tidy up the CDV files Alan Cox ` (6 subsequent siblings) 11 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:44 UTC (permalink / raw) To: greg, linux-kernel From: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Otherwise we can't ioremap the gtt and the screen gets garbled. Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/gtt.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/staging/gma500/gtt.c b/drivers/staging/gma500/gtt.c index 28f2261..78dd01b 100644 --- a/drivers/staging/gma500/gtt.c +++ b/drivers/staging/gma500/gtt.c @@ -397,7 +397,7 @@ int psb_gtt_init(struct drm_device *dev, int resume) /* The root resource we allocate address space from */ dev_priv->gtt_initialized = 1; - pg->gtt_phys_start = dev_priv->pge_ctl; + pg->gtt_phys_start = dev_priv->pge_ctl & PAGE_MASK; /* * FIXME: video mmu has hw bug to access 0x0D0000000, ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 06/12] gma500: tidy up the CDV files 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox ` (4 preceding siblings ...) 2011-07-08 8:44 ` [PATCH 05/12] gma500: Mask out bits not part of the page table base address Alan Cox @ 2011-07-08 8:44 ` Alan Cox 2011-07-08 8:44 ` [PATCH 07/12] gma500: tidy the mrst files Alan Cox ` (5 subsequent siblings) 11 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:44 UTC (permalink / raw) To: greg, linux-kernel From: Alan Cox <alan@linux.intel.com> We are close to having PSB and CDV ready for moving from staging so it's time to get the polish out. Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/cdv_device.c | 21 +++-- drivers/staging/gma500/cdv_intel_crt.c | 23 +++--- drivers/staging/gma500/cdv_intel_display.c | 115 +++++++++++++--------------- drivers/staging/gma500/cdv_intel_hdmi.c | 80 ++++++++++--------- drivers/staging/gma500/cdv_intel_lvds.c | 20 +++-- 5 files changed, 133 insertions(+), 126 deletions(-) diff --git a/drivers/staging/gma500/cdv_device.c b/drivers/staging/gma500/cdv_device.c index 3729a97..87614e0 100644 --- a/drivers/staging/gma500/cdv_device.c +++ b/drivers/staging/gma500/cdv_device.c @@ -129,7 +129,6 @@ static int cdv_backlight_setup(struct drm_device *dev) static int cdv_set_brightness(struct backlight_device *bd) { - struct drm_device *dev = bl_get_data(cdv_backlight_device); int level = bd->props.brightness; /* Percentage 1-100% being valid */ @@ -188,9 +187,9 @@ static inline u32 CDV_MSG_READ32(uint port, uint offset) { int mcr = (0x10<<24) | (port << 16) | (offset << 8); uint32_t ret_val = 0; - struct pci_dev *pci_root = pci_get_bus_and_slot (0, 0); - pci_write_config_dword (pci_root, 0xD0, mcr); - pci_read_config_dword (pci_root, 0xD4, &ret_val); + struct pci_dev *pci_root = pci_get_bus_and_slot(0, 0); + pci_write_config_dword(pci_root, 0xD0, mcr); + pci_read_config_dword(pci_root, 0xD4, &ret_val); pci_dev_put(pci_root); return ret_val; } @@ -198,9 +197,9 @@ static inline u32 CDV_MSG_READ32(uint port, uint offset) static inline void CDV_MSG_WRITE32(uint port, uint offset, u32 value) { int mcr = (0x11<<24) | (port << 16) | (offset << 8) | 0xF0; - struct pci_dev *pci_root = pci_get_bus_and_slot (0, 0); - pci_write_config_dword (pci_root, 0xD4, value); - pci_write_config_dword (pci_root, 0xD0, mcr); + struct pci_dev *pci_root = pci_get_bus_and_slot(0, 0); + pci_write_config_dword(pci_root, 0xD4, value); + pci_write_config_dword(pci_root, 0xD0, mcr); pci_dev_put(pci_root); } @@ -218,8 +217,10 @@ static void cdv_init_pm(struct drm_device *dev) u32 pwr_cnt; int i; - dev_priv->apm_base = CDV_MSG_READ32(PSB_PUNIT_PORT, PSB_APMBA) & 0xFFFF; - dev_priv->ospm_base = CDV_MSG_READ32(PSB_PUNIT_PORT, PSB_OSPMBA) & 0xFFFF; + dev_priv->apm_base = CDV_MSG_READ32(PSB_PUNIT_PORT, + PSB_APMBA) & 0xFFFF; + dev_priv->ospm_base = CDV_MSG_READ32(PSB_PUNIT_PORT, + PSB_OSPMBA) & 0xFFFF; /* Force power on for now */ pwr_cnt = inl(dev_priv->apm_base + PSB_APM_CMD); @@ -346,5 +347,5 @@ const struct psb_ops cdv_chip_ops = { .save_regs = cdv_save_display_registers, .restore_regs = cdv_restore_display_registers, .power_down = cdv_power_down, - .power_up = cdv_power_up, + .power_up = cdv_power_up, }; diff --git a/drivers/staging/gma500/cdv_intel_crt.c b/drivers/staging/gma500/cdv_intel_crt.c index e26749c..efda63b 100644 --- a/drivers/staging/gma500/cdv_intel_crt.c +++ b/drivers/staging/gma500/cdv_intel_crt.c @@ -45,7 +45,7 @@ static void cdv_intel_crt_dpms(struct drm_encoder *encoder, int mode) temp &= ~(ADPA_HSYNC_CNTL_DISABLE | ADPA_VSYNC_CNTL_DISABLE); temp &= ~ADPA_DAC_ENABLE; - switch(mode) { + switch (mode) { case DRM_MODE_DPMS_ON: temp |= ADPA_DAC_ENABLE; break; @@ -128,11 +128,10 @@ static void cdv_intel_crt_mode_set(struct drm_encoder *encoder, if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) adpa |= ADPA_VSYNC_ACTIVE_HIGH; - if (psb_intel_crtc->pipe == 0) { + if (psb_intel_crtc->pipe == 0) adpa |= ADPA_PIPE_A_SELECT; - } else { + else adpa |= ADPA_PIPE_B_SELECT; - } REG_WRITE(adpa_reg, adpa); } @@ -144,7 +143,8 @@ static void cdv_intel_crt_mode_set(struct drm_encoder *encoder, * \return true if CRT is connected. * \return false if CRT is disconnected. */ -static bool cdv_intel_crt_detect_hotplug(struct drm_connector *connector, bool force) +static bool cdv_intel_crt_detect_hotplug(struct drm_connector *connector, + bool force) { struct drm_device *dev = connector->dev; u32 hotplug_en; @@ -193,7 +193,8 @@ static bool cdv_intel_crt_detect_hotplug(struct drm_connector *connector, bool f return ret; } -static enum drm_connector_status cdv_intel_crt_detect(struct drm_connector *connector, bool force) +static enum drm_connector_status cdv_intel_crt_detect( + struct drm_connector *connector, bool force) { if (cdv_intel_crt_detect_hotplug(connector, force)) return connector_status_connected; @@ -245,7 +246,8 @@ static const struct drm_connector_funcs cdv_intel_crt_connector_funcs = { .set_property = cdv_intel_crt_set_property, }; -static const struct drm_connector_helper_funcs cdv_intel_crt_connector_helper_funcs = { +static const struct drm_connector_helper_funcs + cdv_intel_crt_connector_helper_funcs = { .mode_valid = cdv_intel_crt_mode_valid, .get_modes = cdv_intel_crt_get_modes, .best_encoder = psb_intel_best_encoder, @@ -277,11 +279,11 @@ void cdv_intel_crt_init(struct drm_device *dev, psb_intel_output->mode_dev = mode_dev; connector = &psb_intel_output->base; drm_connector_init(dev, connector, - &cdv_intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA); + &cdv_intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA); encoder = &psb_intel_output->enc; drm_encoder_init(dev, encoder, - &cdv_intel_crt_enc_funcs, DRM_MODE_ENCODER_DAC); + &cdv_intel_crt_enc_funcs, DRM_MODE_ENCODER_DAC); drm_mode_connector_attach_encoder(&psb_intel_output->base, &psb_intel_output->enc); @@ -310,7 +312,8 @@ void cdv_intel_crt_init(struct drm_device *dev, connector->doublescan_allowed = 0; drm_encoder_helper_add(encoder, &cdv_intel_crt_helper_funcs); - drm_connector_helper_add(connector, &cdv_intel_crt_connector_helper_funcs); + drm_connector_helper_add(connector, + &cdv_intel_crt_connector_helper_funcs); drm_sysfs_connector_add(connector); diff --git a/drivers/staging/gma500/cdv_intel_display.c b/drivers/staging/gma500/cdv_intel_display.c index 2042e98..7b97c60 100644 --- a/drivers/staging/gma500/cdv_intel_display.c +++ b/drivers/staging/gma500/cdv_intel_display.c @@ -11,7 +11,7 @@ * more details. * * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., + * this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. * * Authors: @@ -40,8 +40,7 @@ struct cdv_intel_p2_t { int p2_slow, p2_fast; }; -struct cdv_intel_clock_t -{ +struct cdv_intel_clock_t { /* given values */ int n; int m1, m2; @@ -117,17 +116,18 @@ static const struct cdv_intel_limit_t cdv_intel_limits[] = { }; #define _wait_for(COND, MS, W) ({ \ - unsigned long timeout__ = jiffies + msecs_to_jiffies(MS); \ - int ret__ = 0; \ - while (! (COND)) { \ - if (time_after(jiffies, timeout__)) { \ - ret__ = -ETIMEDOUT; \ - break; \ - } \ - if (W && !in_dbg_master()) msleep(W); \ - } \ - ret__; \ -}) + unsigned long timeout__ = jiffies + msecs_to_jiffies(MS); \ + int ret__ = 0; \ + while (!(COND)) { \ + if (time_after(jiffies, timeout__)) { \ + ret__ = -ETIMEDOUT; \ + break; \ + } \ + if (W && !in_dbg_master()) \ + msleep(W); \ + } \ + ret__; \ +}) #define wait_for(COND, MS) _wait_for(COND, MS, 1) @@ -237,7 +237,7 @@ cdv_dpll_set_clock_cdv(struct drm_device *dev, struct drm_crtc *crtc, ref_value = 0x68A701; cdv_sb_write(dev, SB_REF_SFR(pipe), ref_value); - + /* We don't know what the other fields of these regs are, so * leave them in place. */ @@ -324,14 +324,13 @@ cdv_dpll_set_clock_cdv(struct drm_device *dev, struct drm_crtc *crtc, lane_value |= LANE_PLL_ENABLE; cdv_sb_write(dev, lane_reg, lane_value); - /* Program the Lane2/3 for HDMI C */ + /* Program the Lane2/3 for HDMI C */ lane_reg = PSB_LANE2; cdv_sb_read(dev, lane_reg, &lane_value); lane_value &= ~(LANE_PLL_MASK); lane_value |= LANE_PLL_ENABLE; cdv_sb_write(dev, lane_reg, lane_value); - lane_reg = PSB_LANE3; cdv_sb_read(dev, lane_reg, &lane_value); lane_value &= ~(LANE_PLL_MASK); @@ -362,17 +361,18 @@ bool cdv_intel_pipe_has_type(struct drm_crtc *crtc, int type) return false; } -static const struct cdv_intel_limit_t *cdv_intel_limit(struct drm_crtc *crtc, int refclk) +static const struct cdv_intel_limit_t *cdv_intel_limit(struct drm_crtc *crtc, + int refclk) { const struct cdv_intel_limit_t *limit; if (cdv_intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { /* - * Now only single-channel LVDS is supported on CDV. If it is - * incorrect, please add the dual-channel LVDS. - */ + * Now only single-channel LVDS is supported on CDV. If it is + * incorrect, please add the dual-channel LVDS. + */ if (refclk == 96000) limit = &cdv_intel_limits[CDV_LIMIT_SINGLE_LVDS_96]; - else + else limit = &cdv_intel_limits[CDV_LIMIT_SINGLE_LVDS_100]; } else { if (refclk == 27000) @@ -384,7 +384,7 @@ static const struct cdv_intel_limit_t *cdv_intel_limit(struct drm_crtc *crtc, in } /* m1 is reserved as 0 in CDV, n is a ring counter */ -static void cdv_intel_clock(struct drm_device *dev, +static void cdv_intel_clock(struct drm_device *dev, int refclk, struct cdv_intel_clock_t *clock) { clock->m = clock->m2 + 2; @@ -448,19 +448,22 @@ static bool cdv_intel_find_best_PLL(struct drm_crtc *crtc, int target, memset(best_clock, 0, sizeof(*best_clock)); clock.m1 = 0; - /* m1 is reserved as 0 in CDV, n is a ring counter. So skip the m1 loop */ + /* m1 is reserved as 0 in CDV, n is a ring counter. + So skip the m1 loop */ for (clock.n = limit->n.min; clock.n <= limit->n.max; clock.n++) { for (clock.m2 = limit->m2.min; clock.m2 <= limit->m2.max; clock.m2++) { - for (clock.p1 = limit->p1.min; clock.p1 <= limit->p1.max; - clock.p1++) { + for (clock.p1 = limit->p1.min; + clock.p1 <= limit->p1.max; + clock.p1++) { int this_err; cdv_intel_clock(dev, refclk, &clock); - if (!cdv_intel_PLL_is_valid(crtc, limit, &clock)) + if (!cdv_intel_PLL_is_valid(crtc, + limit, &clock)) continue; - + this_err = abs(clock.dot - target); if (this_err < err) { *best_clock = clock; @@ -533,7 +536,7 @@ int cdv_intel_pipe_set_base(struct drm_crtc *crtc, REG_WRITE(dspcntr_reg, dspcntr); dev_dbg(dev->dev, - "Writing base %08lX %08lX %d %d\n", start, offset, x, y); + "Writing base %08lX %08lX %d %d\n", start, offset, x, y); REG_WRITE(dspbase, offset); REG_READ(dspbase); @@ -808,7 +811,7 @@ static int cdv_intel_crtc_mode_set(struct drm_crtc *crtc, dpll |= DPLLB_MODE_LVDS; else dpll |= DPLLB_MODE_DAC_SERIAL; - //dpll |= (2 << 11); + /* dpll |= (2 << 11); */ /* setup pipeconf */ pipeconf = REG_READ(pipeconf_reg); @@ -824,14 +827,12 @@ static int cdv_intel_crtc_mode_set(struct drm_crtc *crtc, dspcntr |= DISPLAY_PLANE_ENABLE; pipeconf |= PIPEACONF_ENABLE; - REG_WRITE(dpll_reg, - dpll | DPLL_VGA_MODE_DIS | - DPLL_SYNCLOCK_ENABLE); - REG_READ(dpll_reg); + REG_WRITE(dpll_reg, dpll | DPLL_VGA_MODE_DIS | DPLL_SYNCLOCK_ENABLE); + REG_READ(dpll_reg); cdv_dpll_set_clock_cdv(dev, crtc, &clock); - udelay(150); + udelay(150); /* The LVDS pin pair needs to be on before the DPLLs are enabled. @@ -864,7 +865,6 @@ static int cdv_intel_crtc_mode_set(struct drm_crtc *crtc, dpll |= DPLL_VCO_ENABLE; - /* Disable the panel fitter if it was on our pipe */ if (cdv_intel_panel_fitter_pipe(dev) == pipe) REG_WRITE(PFIT_CONTROL, 0); @@ -873,24 +873,19 @@ static int cdv_intel_crtc_mode_set(struct drm_crtc *crtc, drm_mode_debug_printmodeline(mode); REG_WRITE(dpll_reg, - (REG_READ(dpll_reg) & ~DPLL_LOCK) | - DPLL_VCO_ENABLE); - REG_READ(dpll_reg); + (REG_READ(dpll_reg) & ~DPLL_LOCK) | DPLL_VCO_ENABLE); + REG_READ(dpll_reg); /* Wait for the clocks to stabilize. */ - udelay(150); /* 42 usec w/o calibration, 110 with. rounded up. */ - - if (!(REG_READ(dpll_reg) & DPLL_LOCK)) { - dev_err(dev->dev, "Failed to get DPLL lock\n"); - return -EBUSY; - } - - { - int sdvo_pixel_multiply = - adjusted_mode->clock / mode->clock; - REG_WRITE(dpll_md_reg, - (0 << DPLL_MD_UDI_DIVIDER_SHIFT) | - ((sdvo_pixel_multiply - - 1) << DPLL_MD_UDI_MULTIPLIER_SHIFT)); + udelay(150); /* 42 usec w/o calibration, 110 with. rounded up. */ + + if (!(REG_READ(dpll_reg) & DPLL_LOCK)) { + dev_err(dev->dev, "Failed to get DPLL lock\n"); + return -EBUSY; + } + + { + int sdvo_pixel_multiply = adjusted_mode->clock / mode->clock; + REG_WRITE(dpll_md_reg, (0 << DPLL_MD_UDI_DIVIDER_SHIFT) | ((sdvo_pixel_multiply - 1) << DPLL_MD_UDI_MULTIPLIER_SHIFT)); } REG_WRITE(htot_reg, (adjusted_mode->crtc_hdisplay - 1) | @@ -956,10 +951,10 @@ void cdv_intel_crtc_load_lut(struct drm_crtc *crtc) palreg = PALETTE_C; break; default: - dev_err(dev->dev, "Illegal Pipe Number. \n"); + dev_err(dev->dev, "Illegal Pipe Number.\n"); return; } - + if (gma_power_begin(dev, false)) { for (i = 0; i < 256; i++) { REG_WRITE(palreg + 4 * i, @@ -1276,7 +1271,7 @@ static int cdv_intel_crtc_cursor_move(struct drm_crtc *crtc, int x, int y) } static void cdv_intel_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, - u16 *green, u16 *blue, uint32_t start, uint32_t size) + u16 *green, u16 *blue, uint32_t start, uint32_t size) { struct psb_intel_crtc *psb_intel_crtc = to_psb_intel_crtc(crtc); int i; @@ -1294,10 +1289,10 @@ static void cdv_intel_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, static int cdv_crtc_set_config(struct drm_mode_set *set) { int ret = 0; - struct drm_device * dev = set->crtc->dev; - struct drm_psb_private * dev_priv = dev->dev_private; + struct drm_device *dev = set->crtc->dev; + struct drm_psb_private *dev_priv = dev->dev_private; - if(!dev_priv->rpm_enabled) + if (!dev_priv->rpm_enabled) return drm_crtc_helper_set_config(set); pm_runtime_forbid(&dev->pdev->dev); @@ -1489,7 +1484,7 @@ void cdv_intel_cursor_init(struct drm_device *dev, int pipe) { uint32_t control; uint32_t base; - + switch (pipe) { case 0: control = CURACNTR; diff --git a/drivers/staging/gma500/cdv_intel_hdmi.c b/drivers/staging/gma500/cdv_intel_hdmi.c index 5acfb37..7f86c0c 100644 --- a/drivers/staging/gma500/cdv_intel_hdmi.c +++ b/drivers/staging/gma500/cdv_intel_hdmi.c @@ -59,8 +59,8 @@ struct mid_intel_hdmi_priv { }; static void cdv_hdmi_mode_set(struct drm_encoder *encoder, - struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode) + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) { struct drm_device *dev = encoder->dev; struct psb_intel_output *output = enc_to_psb_intel_output(encoder); @@ -83,7 +83,7 @@ static void cdv_hdmi_mode_set(struct drm_encoder *encoder, hdmib |= HDMI_AUDIO_ENABLE; hdmib |= HDMI_NULL_PACKETS_DURING_VSYNC; } - + REG_WRITE(hdmi_priv->hdmi_reg, hdmib); REG_READ(hdmi_priv->hdmi_reg); } @@ -92,8 +92,7 @@ static bool cdv_hdmi_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode) { - - return true; + return true; } static void cdv_hdmi_dpms(struct drm_encoder *encoder, int mode) @@ -105,11 +104,10 @@ static void cdv_hdmi_dpms(struct drm_encoder *encoder, int mode) hdmib = REG_READ(hdmi_priv->hdmi_reg); - if (mode != DRM_MODE_DPMS_ON) { + if (mode != DRM_MODE_DPMS_ON) REG_WRITE(hdmi_priv->hdmi_reg, hdmib & ~HDMIB_PORT_EN); - } else { + else REG_WRITE(hdmi_priv->hdmi_reg, hdmib | HDMIB_PORT_EN); - } REG_READ(hdmi_priv->hdmi_reg); } @@ -132,11 +130,12 @@ static void cdv_hdmi_restore(struct drm_connector *connector) REG_READ(hdmi_priv->hdmi_reg); } -static enum drm_connector_status cdv_hdmi_detect(struct drm_connector *connector, bool force) +static enum drm_connector_status cdv_hdmi_detect( + struct drm_connector *connector, bool force) { struct drm_device *dev = connector->dev; - struct drm_psb_private *dev_priv = dev->dev_private; - struct psb_intel_output *psb_intel_output = to_psb_intel_output(connector); + struct psb_intel_output *psb_intel_output = + to_psb_intel_output(connector); struct mid_intel_hdmi_priv *hdmi_priv = psb_intel_output->dev_priv; struct edid *edid = NULL; enum drm_connector_status status = connector_status_disconnected; @@ -149,8 +148,10 @@ static enum drm_connector_status cdv_hdmi_detect(struct drm_connector *connector if (edid) { if (edid->input & DRM_EDID_INPUT_DIGITAL) { status = connector_status_connected; - hdmi_priv->has_hdmi_sink = drm_detect_hdmi_monitor(edid); - hdmi_priv->has_hdmi_audio = drm_detect_monitor_audio(edid); + hdmi_priv->has_hdmi_sink = + drm_detect_hdmi_monitor(edid); + hdmi_priv->has_hdmi_audio = + drm_detect_monitor_audio(edid); } psb_intel_output->base.display_info.raw_edid = NULL; @@ -171,7 +172,7 @@ static int cdv_hdmi_set_property(struct drm_connector *connector, uint64_t curValue; if (!crtc) - return -1; + return -1; switch (value) { case DRM_MODE_SCALE_FULLSCREEN: @@ -181,17 +182,19 @@ static int cdv_hdmi_set_property(struct drm_connector *connector, case DRM_MODE_SCALE_ASPECT: break; default: - return -1; + return -1; } - if (drm_connector_property_get_value(connector, property, &curValue)) - return -1; + if (drm_connector_property_get_value(connector, + property, &curValue)) + return -1; if (curValue == value) - return 0; + return 0; - if (drm_connector_property_set_value(connector, property, value)) - return -1; + if (drm_connector_property_set_value(connector, + property, value)) + return -1; centre = (curValue == DRM_MODE_SCALE_NO_SCALE) || (value == DRM_MODE_SCALE_NO_SCALE); @@ -203,9 +206,10 @@ static int cdv_hdmi_set_property(struct drm_connector *connector, encoder->crtc->x, encoder->crtc->y, encoder->crtc->fb)) return -1; } else { - struct drm_encoder_helper_funcs *helpers = encoder->helper_private; + struct drm_encoder_helper_funcs *helpers + = encoder->helper_private; helpers->mode_set(encoder, &crtc->saved_mode, - &crtc->saved_adjusted_mode); + &crtc->saved_adjusted_mode); } } } @@ -217,7 +221,8 @@ static int cdv_hdmi_set_property(struct drm_connector *connector, */ static int cdv_hdmi_get_modes(struct drm_connector *connector) { - struct psb_intel_output *psb_intel_output = to_psb_intel_output(connector); + struct psb_intel_output *psb_intel_output = + to_psb_intel_output(connector); struct edid *edid = NULL; int ret = 0; @@ -250,8 +255,8 @@ static int cdv_hdmi_mode_valid(struct drm_connector *connector, return MODE_NO_INTERLACE; /* - * FIXME: fornow we limit the size to 1680x1050 on CDV, otherwise it will - * go beyond the stolen memory size allocated to the Framebuffer + * FIXME: for now we limit the size to 1680x1050 on CDV, otherwise it + * will go beyond the stolen memory size allocated to the framebuffer */ if (mode->hdisplay > 1680) return MODE_PANEL; @@ -280,7 +285,8 @@ static const struct drm_encoder_helper_funcs cdv_hdmi_helper_funcs = { .commit = psb_intel_encoder_commit, }; -static const struct drm_connector_helper_funcs cdv_hdmi_connector_helper_funcs = { +static const struct drm_connector_helper_funcs + cdv_hdmi_connector_helper_funcs = { .get_modes = cdv_hdmi_get_modes, .mode_valid = cdv_hdmi_mode_valid, .best_encoder = psb_intel_best_encoder, @@ -296,7 +302,8 @@ static const struct drm_connector_funcs cdv_hdmi_connector_funcs = { .destroy = cdv_hdmi_destroy, }; -void cdv_hdmi_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev, int reg) +void cdv_hdmi_init(struct drm_device *dev, + struct psb_intel_mode_device *mode_dev, int reg) { struct psb_intel_output *psb_intel_output; struct drm_connector *connector; @@ -334,7 +341,8 @@ void cdv_hdmi_init(struct drm_device *dev, struct psb_intel_mode_device *mode_de connector->interlace_allowed = false; connector->doublescan_allowed = false; - drm_connector_attach_property(connector, dev->mode_config.scaling_mode_property, DRM_MODE_SCALE_FULLSCREEN); + drm_connector_attach_property(connector, + dev->mode_config.scaling_mode_property, DRM_MODE_SCALE_FULLSCREEN); switch (reg) { case SDVOB: @@ -350,19 +358,15 @@ void cdv_hdmi_init(struct drm_device *dev, struct psb_intel_mode_device *mode_de } psb_intel_output->ddc_bus = psb_intel_i2c_create(dev, - ddc_bus, (reg == SDVOB) ? "HDMIB":"HDMIC"); + ddc_bus, (reg == SDVOB) ? "HDMIB" : "HDMIC"); - if (psb_intel_output->ddc_bus) { - /* HACKS_JLIU7 */ - DRM_INFO("Enter cdv_hdmi_init, i2c_adapter is availabe.\n"); - - } else { - printk(KERN_ALERT "No ddc adapter available!\n"); + if (!psb_intel_output->ddc_bus) { + dev_err(dev->dev, "No ddc adapter available!\n"); goto failed_ddc; } - psb_intel_output->hdmi_i2c_adapter = &(psb_intel_output->ddc_bus->adapter); - - hdmi_priv->dev = dev; + psb_intel_output->hdmi_i2c_adapter = + &(psb_intel_output->ddc_bus->adapter); + hdmi_priv->dev = dev; drm_sysfs_connector_add(connector); return; diff --git a/drivers/staging/gma500/cdv_intel_lvds.c b/drivers/staging/gma500/cdv_intel_lvds.c index d9b2290..19ad9bb 100644 --- a/drivers/staging/gma500/cdv_intel_lvds.c +++ b/drivers/staging/gma500/cdv_intel_lvds.c @@ -11,7 +11,7 @@ * more details. * * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., + * this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. * * Authors: @@ -200,7 +200,7 @@ static void cdv_intel_lvds_set_power(struct drm_device *dev, u32 pp_status; if (!gma_power_begin(dev, true)) - return; + return; if (on) { REG_WRITE(PP_CONTROL, REG_READ(PP_CONTROL) | @@ -390,7 +390,8 @@ static void cdv_intel_lvds_mode_set(struct drm_encoder *encoder, * This connector should only have * been set up if the LVDS was actually connected anyway. */ -static enum drm_connector_status cdv_intel_lvds_detect(struct drm_connector *connector, bool force) +static enum drm_connector_status cdv_intel_lvds_detect( + struct drm_connector *connector, bool force) { return connector_status_connected; } @@ -503,21 +504,24 @@ int cdv_intel_lvds_set_property(struct drm_connector *connector, return -1; else { #ifdef CONFIG_BACKLIGHT_CLASS_DEVICE - struct drm_psb_private *dev_priv = + struct drm_psb_private *dev_priv = encoder->dev->dev_private; - struct backlight_device *bd = dev_priv->backlight_device; + struct backlight_device *bd = + dev_priv->backlight_device; bd->props.brightness = value; backlight_update_status(bd); #endif } } else if (!strcmp(property->name, "DPMS") && encoder) { - struct drm_encoder_helper_funcs *helpers = encoder->helper_private; + struct drm_encoder_helper_funcs *helpers = + encoder->helper_private; helpers->dpms(encoder, value); } return 0; } -static const struct drm_encoder_helper_funcs cdv_intel_lvds_helper_funcs = { +static const struct drm_encoder_helper_funcs + cdv_intel_lvds_helper_funcs = { .dpms = cdv_intel_lvds_encoder_dpms, .mode_fixup = cdv_intel_lvds_mode_fixup, .prepare = cdv_intel_lvds_prepare, @@ -526,7 +530,7 @@ static const struct drm_encoder_helper_funcs cdv_intel_lvds_helper_funcs = { }; static const struct drm_connector_helper_funcs - cdv_intel_lvds_connector_helper_funcs = { + cdv_intel_lvds_connector_helper_funcs = { .get_modes = cdv_intel_lvds_get_modes, .mode_valid = cdv_intel_lvds_mode_valid, .best_encoder = psb_intel_best_encoder, ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 07/12] gma500: tidy the mrst files 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox ` (5 preceding siblings ...) 2011-07-08 8:44 ` [PATCH 06/12] gma500: tidy up the CDV files Alan Cox @ 2011-07-08 8:44 ` Alan Cox 2011-07-08 8:44 ` [PATCH 08/12] gma500; clean mid files Alan Cox ` (4 subsequent siblings) 11 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:44 UTC (permalink / raw) To: greg, linux-kernel From: Alan Cox <alan@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/mrst_device.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/gma500/mrst_device.c b/drivers/staging/gma500/mrst_device.c index 195a25b..436580d 100644 --- a/drivers/staging/gma500/mrst_device.c +++ b/drivers/staging/gma500/mrst_device.c @@ -155,7 +155,7 @@ int mrst_backlight_init(struct drm_device *dev) mrst_backlight_device = backlight_device_register("mrst-bl", NULL, (void *)dev, &mrst_ops, &props); - + if (IS_ERR(mrst_backlight_device)) return PTR_ERR(mrst_backlight_device); @@ -367,7 +367,7 @@ const struct psb_ops mrst_chip_ops = { #ifdef CONFIG_BACKLIGHT_CLASS_DEVICE .backlight_init = mrst_backlight_init, #endif - + .init_pm = mrst_init_pm, .save_regs = mrst_save_display_registers, .restore_regs = mrst_restore_display_registers, ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 08/12] gma500; clean mid files 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox ` (6 preceding siblings ...) 2011-07-08 8:44 ` [PATCH 07/12] gma500: tidy the mrst files Alan Cox @ 2011-07-08 8:44 ` Alan Cox 2011-07-08 8:45 ` [PATCH 09/12] gma500: Fix unused variable in cdv support Alan Cox ` (3 subsequent siblings) 11 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:44 UTC (permalink / raw) To: greg, linux-kernel From: Alan Cox <alan@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/mid_bios.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/staging/gma500/mid_bios.c b/drivers/staging/gma500/mid_bios.c index 9a7731c..8cfe301 100644 --- a/drivers/staging/gma500/mid_bios.c +++ b/drivers/staging/gma500/mid_bios.c @@ -237,19 +237,17 @@ static void mid_get_vbt_data(struct drm_psb_private *dev_priv) dev_err(dev->dev, "Unknown revision of GCT!\n"); vbt->size = 0; } - if (IS_MFLD(dev_priv->dev)){ + if (IS_MFLD(dev_priv->dev)) { if (panel_id == GCT_DETECT) { if (dev_priv->gct_data.bpi == 2) { dev_info(dev->dev, "[GFX] PYR Panel Detected\n"); dev_priv->panel_id = PYR_CMD; panel_id = PYR_CMD; - } - else if(dev_priv->gct_data.bpi == 0) { + } else if (dev_priv->gct_data.bpi == 0) { dev_info(dev->dev, "[GFX] TMD Panel Detected.\n"); dev_priv->panel_id = TMD_VID; panel_id = TMD_VID; - } - else { + } else { dev_info(dev->dev, "[GFX] Default Panel (TPO)\n"); dev_priv->panel_id = TPO_CMD; panel_id = TPO_CMD; @@ -268,4 +266,4 @@ int mid_chip_setup(struct drm_device *dev) mid_get_vbt_data(dev_priv); mid_get_pci_revID(dev_priv); return 0; -} \ No newline at end of file +} ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 09/12] gma500: Fix unused variable in cdv support 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox ` (7 preceding siblings ...) 2011-07-08 8:44 ` [PATCH 08/12] gma500; clean mid files Alan Cox @ 2011-07-08 8:45 ` Alan Cox 2011-07-08 8:45 ` [PATCH 10/12] Staging: gma500: typo in array initialization Alan Cox ` (2 subsequent siblings) 11 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:45 UTC (permalink / raw) To: greg, linux-kernel From: Alan Cox <alan@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/cdv_intel_hdmi.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/drivers/staging/gma500/cdv_intel_hdmi.c b/drivers/staging/gma500/cdv_intel_hdmi.c index 7f86c0c..cbca2b0 100644 --- a/drivers/staging/gma500/cdv_intel_hdmi.c +++ b/drivers/staging/gma500/cdv_intel_hdmi.c @@ -133,7 +133,6 @@ static void cdv_hdmi_restore(struct drm_connector *connector) static enum drm_connector_status cdv_hdmi_detect( struct drm_connector *connector, bool force) { - struct drm_device *dev = connector->dev; struct psb_intel_output *psb_intel_output = to_psb_intel_output(connector); struct mid_intel_hdmi_priv *hdmi_priv = psb_intel_output->dev_priv; ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 10/12] Staging: gma500: typo in array initialization 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox ` (8 preceding siblings ...) 2011-07-08 8:45 ` [PATCH 09/12] gma500: Fix unused variable in cdv support Alan Cox @ 2011-07-08 8:45 ` Alan Cox 2011-07-08 8:45 ` [PATCH 11/12] gma500: reversed test in mdfld_dbi_dsr_exit() Alan Cox 2011-07-08 8:45 ` [PATCH 12/12] gma500: remove unneeded check in mdfld_crtc_mode_set() Alan Cox 11 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:45 UTC (permalink / raw) To: greg, linux-kernel From: Dan Carpenter <error27@gmail.com> There is a comma missing here between the strings so they were concatenated by mistake. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/mdfld_dsi_pkg_sender.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/staging/gma500/mdfld_dsi_pkg_sender.c b/drivers/staging/gma500/mdfld_dsi_pkg_sender.c index 9198aa8..9b543eb 100644 --- a/drivers/staging/gma500/mdfld_dsi_pkg_sender.c +++ b/drivers/staging/gma500/mdfld_dsi_pkg_sender.c @@ -62,7 +62,7 @@ static const char * const dsi_errors[] = { "RX Prot Violation", "HS Generic Write FIFO Full", "LP Generic Write FIFO Full", - "Generic Read Data Avail" + "Generic Read Data Avail", "Special Packet Sent", "Tearing Effect", }; ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 11/12] gma500: reversed test in mdfld_dbi_dsr_exit() 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox ` (9 preceding siblings ...) 2011-07-08 8:45 ` [PATCH 10/12] Staging: gma500: typo in array initialization Alan Cox @ 2011-07-08 8:45 ` Alan Cox 2011-07-08 8:45 ` [PATCH 12/12] gma500: remove unneeded check in mdfld_crtc_mode_set() Alan Cox 11 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:45 UTC (permalink / raw) To: greg, linux-kernel From: Dan Carpenter <error27@gmail.com> We should only cleanup "dsr_info" if it's non-NULL obviously and not the other way around. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/mdfld_dsi_dbi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/staging/gma500/mdfld_dsi_dbi.c b/drivers/staging/gma500/mdfld_dsi_dbi.c index 9d2d97d..4897345 100644 --- a/drivers/staging/gma500/mdfld_dsi_dbi.c +++ b/drivers/staging/gma500/mdfld_dsi_dbi.c @@ -642,7 +642,7 @@ void mdfld_dbi_dsr_exit(struct drm_device *dev) struct drm_psb_private *dev_priv = dev->dev_private; struct mdfld_dbi_dsr_info *dsr_info = dev_priv->dbi_dsr_info; - if (!dsr_info) { + if (dsr_info) { del_timer_sync(&dsr_info->dsr_timer); kfree(dsr_info); dev_priv->dbi_dsr_info = NULL; ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 12/12] gma500: remove unneeded check in mdfld_crtc_mode_set() 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox ` (10 preceding siblings ...) 2011-07-08 8:45 ` [PATCH 11/12] gma500: reversed test in mdfld_dbi_dsr_exit() Alan Cox @ 2011-07-08 8:45 ` Alan Cox 11 siblings, 0 replies; 15+ messages in thread From: Alan Cox @ 2011-07-08 8:45 UTC (permalink / raw) To: greg, linux-kernel From: Dan Carpenter <error27@gmail.com> The list cursor is never NULL in a list_for_each_entry() loop. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Alan Cox <alan@linux.intel.com> --- drivers/staging/gma500/mdfld_intel_display.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/drivers/staging/gma500/mdfld_intel_display.c b/drivers/staging/gma500/mdfld_intel_display.c index 1447a5b..fa84990 100644 --- a/drivers/staging/gma500/mdfld_intel_display.c +++ b/drivers/staging/gma500/mdfld_intel_display.c @@ -1093,8 +1093,6 @@ static int mdfld_crtc_mode_set(struct drm_crtc *crtc, memcpy(&psb_intel_crtc->saved_adjusted_mode, adjusted_mode, sizeof(struct drm_display_mode)); list_for_each_entry(connector, &mode_config->connector_list, head) { - if(!connector) - continue; encoder = connector->encoder; ^ permalink raw reply related [flat|nested] 15+ messages in thread
end of thread, other threads:[~2011-07-09 0:55 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-07-08 8:42 [PATCH 00/12] Fixing and cleaning Alan Cox 2011-07-08 8:42 ` [PATCH 01/12] gma500: strip unneeded version headers Alan Cox 2011-07-08 8:43 ` [PATCH 02/12] gma500: Re-order checks and dereferences in psb_intel_lvds Alan Cox 2011-07-08 20:44 ` Greg KH 2011-07-09 0:57 ` Alan Cox 2011-07-08 8:43 ` [PATCH 03/12] gma500: psb_intel_lvds style Alan Cox 2011-07-08 8:43 ` [PATCH 04/12] gma500: Fix symbol clash with i915 Alan Cox 2011-07-08 8:44 ` [PATCH 05/12] gma500: Mask out bits not part of the page table base address Alan Cox 2011-07-08 8:44 ` [PATCH 06/12] gma500: tidy up the CDV files Alan Cox 2011-07-08 8:44 ` [PATCH 07/12] gma500: tidy the mrst files Alan Cox 2011-07-08 8:44 ` [PATCH 08/12] gma500; clean mid files Alan Cox 2011-07-08 8:45 ` [PATCH 09/12] gma500: Fix unused variable in cdv support Alan Cox 2011-07-08 8:45 ` [PATCH 10/12] Staging: gma500: typo in array initialization Alan Cox 2011-07-08 8:45 ` [PATCH 11/12] gma500: reversed test in mdfld_dbi_dsr_exit() Alan Cox 2011-07-08 8:45 ` [PATCH 12/12] gma500: remove unneeded check in mdfld_crtc_mode_set() Alan Cox
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).