Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 249019
b: refs/heads/master
c: 2627aaa
h: refs/heads/master
i:
  249017: c58169e
  249015: e89da2d
v: v3
  • Loading branch information
Alan Cox authored and Greg Kroah-Hartman committed Apr 5, 2011
1 parent 7835898 commit 491a4dd
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 427beeb21ad0b4297657d578003b2eb3803f95c9
refs/heads/master: 2627aaa6795753e787e544bbc8be60e38e0b08e6
6 changes: 4 additions & 2 deletions trunk/drivers/staging/gma500/psb_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -586,8 +586,10 @@ static int psb_driver_load(struct drm_device *dev, unsigned long chipset)
return -ENOMEM;
INIT_LIST_HEAD(&dev_priv->video_ctx);

dev_priv->num_pipe = 2;

if (IS_MRST(dev))
dev_priv->num_pipe = 1;
else
dev_priv->num_pipe = 2;

dev_priv->dev = dev;
bdev = &dev_priv->bdev;
Expand Down
6 changes: 2 additions & 4 deletions trunk/drivers/staging/gma500/psb_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,15 @@ enum {
CHIP_PSB_8109 = 1,
};

#define IS_MRST(dev) (((dev)->pci_device & 0xfffc) == 0x4100)

/*
*Hardware bugfixes
*/

#define DRIVER_NAME "pvrsrvkm"
#define DRIVER_DESC "drm driver for the Intel GMA500"
#define DRIVER_AUTHOR "Intel Corporation"
#define OSPM_PROC_ENTRY "ospm"
#define RTPM_PROC_ENTRY "rtpm"
#define BLC_PROC_ENTRY "mrst_blc"
#define DISPLAY_PROC_ENTRY "display_status"

#define PSB_DRM_DRIVER_DATE "2009-03-10"
#define PSB_DRM_DRIVER_MAJOR 8
Expand Down
6 changes: 5 additions & 1 deletion trunk/drivers/staging/gma500/psb_fb.c
Original file line number Diff line number Diff line change
Expand Up @@ -716,7 +716,11 @@ static void psb_setup_outputs(struct drm_device *dev)
break;
case INTEL_OUTPUT_LVDS:
PSB_DEBUG_ENTRY("LVDS.\n");
crtc_mask = (1 << 1);
if (IS_MRST(dev))
crtc_mask = (1 << 0);
else
crtc_mask = (1 << 1);

clone_mask = (1 << INTEL_OUTPUT_LVDS);
break;
case INTEL_OUTPUT_MIPI:
Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/staging/gma500/psb_intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,9 @@ static int psb_intel_panel_fitter_pipe(struct drm_device *dev)
if ((pfit_control & PFIT_ENABLE) == 0)
return -1;
/* Must be on PIPE 1 for PSB */
return 1;
if (!IS_MRST(dev))
return 1;
return (pfit_control >> 29) & 3;
}

static int psb_intel_crtc_mode_set(struct drm_crtc *crtc,
Expand Down
8 changes: 6 additions & 2 deletions trunk/drivers/staging/gma500/psb_intel_lvds.c
Original file line number Diff line number Diff line change
Expand Up @@ -400,11 +400,15 @@ bool psb_intel_lvds_mode_fixup(struct drm_encoder *encoder,
if (psb_intel_output->type == INTEL_OUTPUT_MIPI2)
panel_fixed_mode = mode_dev->panel_fixed_mode2;

/* PSB doesn't appear to be GEN4 */
if (psb_intel_crtc->pipe == 0) {
/* PSB requires the LVDS is on pipe B, MRST has only one pipe anyway */
if (!IS_MRST(dev) && psb_intel_crtc->pipe == 0) {
printk(KERN_ERR "Can't support LVDS on pipe A\n");
return false;
}
if (IS_MRST(dev) && psb_intel_crtc->pipe != 0) {
printk(KERN_ERR "Must use PIPE A\n");
return false;
}
/* Should never happen!! */
list_for_each_entry(tmp_encoder, &dev->mode_config.encoder_list,
head) {
Expand Down

0 comments on commit 491a4dd

Please sign in to comment.