* [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
* [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
* 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
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.