summaryrefslogtreecommitdiff
path: root/linux-core
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@hobbes.virtuousgeek.org>2007-05-18 09:42:51 -0700
committerJesse Barnes <jbarnes@hobbes.virtuousgeek.org>2007-05-18 09:42:51 -0700
commita4929b921e44dcd3cae8e384b9b7eabc51db28ff (patch)
tree876a2ba492fd2786ed44ff26c514a0f2951f9096 /linux-core
parentf89458722173b364b8c3c27788b6c61889da554c (diff)
parentd42c1de3fb05405820b03ec9bb12f0b9a7eb0a7b (diff)
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
Conflicts: linux-core/drm_crtc.c - reconcile with locking changes
Diffstat (limited to 'linux-core')
-rw-r--r--linux-core/Makefile1
-rw-r--r--linux-core/drmP.h4
-rw-r--r--linux-core/drm_bo.c3
-rw-r--r--linux-core/drm_crtc.c55
-rw-r--r--linux-core/drm_crtc.h4
-rw-r--r--linux-core/drm_drv.c42
-rw-r--r--linux-core/drm_fb.c4
-rw-r--r--linux-core/drm_fence.c26
-rw-r--r--linux-core/drm_memory.c2
-rw-r--r--linux-core/drm_objects.h9
-rw-r--r--linux-core/drm_os_linux.h18
-rw-r--r--linux-core/drm_vm.c5
-rw-r--r--linux-core/intel_drv.h4
-rw-r--r--linux-core/intel_fb.c44
-rw-r--r--linux-core/intel_sdvo.c24
15 files changed, 136 insertions, 109 deletions
diff --git a/linux-core/Makefile b/linux-core/Makefile
index af29bd6a..1758777c 100644
--- a/linux-core/Makefile
+++ b/linux-core/Makefile
@@ -283,6 +283,7 @@ CONFIG_DRM_SAVAGE := n
CONFIG_DRM_VIA := n
CONFIG_DRM_MACH64 := n
CONFIG_DRM_NV := n
+CONFIG_DRM_NOUVEAU := n
# Enable module builds for the modules requested/supported.
diff --git a/linux-core/drmP.h b/linux-core/drmP.h
index 380570bc..4e36dab1 100644
--- a/linux-core/drmP.h
+++ b/linux-core/drmP.h
@@ -1139,6 +1139,10 @@ extern drm_head_t **drm_heads;
extern struct drm_sysfs_class *drm_class;
extern struct proc_dir_entry *drm_proc_root;
+extern drm_local_map_t *drm_getsarea(struct drm_device *dev);
+extern int drm_wait_on(drm_device_t *dev, wait_queue_head_t *queue,
+ int timeout, int (*fn)(drm_device_t *dev, void *priv),
+ void *priv);
/* Proc support (drm_proc.h) */
extern int drm_proc_init(drm_device_t * dev,
int minor,
diff --git a/linux-core/drm_bo.c b/linux-core/drm_bo.c
index 27016d8c..50f62dce 100644
--- a/linux-core/drm_bo.c
+++ b/linux-core/drm_bo.c
@@ -2309,6 +2309,9 @@ void drm_bo_unmap_virtual(drm_buffer_object_t * bo)
loff_t offset = ((loff_t) bo->map_list.hash.key) << PAGE_SHIFT;
loff_t holelen = ((loff_t) bo->mem.num_pages) << PAGE_SHIFT;
+ if (!dev->dev_mapping)
+ return;
+
unmap_mapping_range(dev->dev_mapping, offset, holelen, 1);
}
diff --git a/linux-core/drm_crtc.c b/linux-core/drm_crtc.c
index e5a4b32b..245fe5be 100644
--- a/linux-core/drm_crtc.c
+++ b/linux-core/drm_crtc.c
@@ -170,6 +170,7 @@ void drm_framebuffer_destroy(struct drm_framebuffer *fb)
kfree(fb);
}
+EXPORT_SYMBOL(drm_framebuffer_destroy);
/**
* drm_crtc_create - create a new CRTC object
@@ -790,10 +791,8 @@ static void drm_pick_crtcs (drm_device_t *dev)
break;
}
-
/* No preferred mode, let's select another which should pick
* the default 640x480 if nothing else is here.
- *
*/
if (!des_mode || !(des_mode->flags & DRM_MODE_TYPE_PREFERRED)) {
list_for_each_entry(des_mode, &output->modes, head) {
@@ -857,12 +856,7 @@ clone:
*/
bool drm_initial_config(drm_device_t *dev, bool can_grow)
{
- /* do a hardcoded initial configuration here */
- struct drm_display_mode *des_mode = NULL;
struct drm_output *output;
- struct drm_framebuffer *fb;
- drm_buffer_object_t *fbo;
- unsigned long size, bytes_per_pixel;
int ret = false;
spin_lock(&dev->mode_config.config_lock);
@@ -877,48 +871,10 @@ bool drm_initial_config(drm_device_t *dev, bool can_grow)
if (!output->crtc || !output->crtc->desired_mode)
continue;
- fb = drm_framebuffer_create(dev);
- if (!fb) {
- DRM_ERROR("failed to allocate fb.\n");
- ret = true;
- goto out;
- }
- output->crtc->fb = fb;
- des_mode = output->crtc->desired_mode;
-
- if (des_mode->hdisplay > fb->width)
- fb->width = des_mode->hdisplay;
- if (des_mode->vdisplay > fb->height)
- fb->height = des_mode->vdisplay;
-
- /* FIXME: multiple depths */
- bytes_per_pixel = 4;
- fb->bits_per_pixel = 32;
- fb->pitch = fb->width * ((fb->bits_per_pixel + 1) / 8);
- fb->depth = 24;
- size = fb->width * fb->height * bytes_per_pixel;
- /* FIXME - what about resizeable objects ??? */
- ret = drm_buffer_object_create(dev, size, drm_bo_type_kernel,
- DRM_BO_FLAG_READ |
- DRM_BO_FLAG_WRITE |
- DRM_BO_FLAG_MEM_PRIV0 |
- DRM_BO_FLAG_NO_MOVE,
- 0, 0, 0,
- &fbo);
- if (ret) {
- printk(KERN_ERR "failed to allocate framebuffer\n");
- drm_framebuffer_destroy(fb);
- continue;
- }
- fb->offset = fbo->offset;
- fb->bo = fbo;
- printk("allocated %dx%d fb: 0x%08lx, bo %p\n", fb->width,
- fb->height, fbo->offset, fbo);
dev->driver->fb_probe(dev, output->crtc);
}
drm_disable_unused_functions(dev);
-out:
spin_unlock(&dev->mode_config.config_lock);
return ret;
}
@@ -946,10 +902,6 @@ void drm_mode_config_cleanup(drm_device_t *dev)
drm_output_destroy(output);
}
- list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, head) {
- drm_crtc_destroy(crtc);
- }
-
list_for_each_entry_safe(mode, mt, &dev->mode_config.usermode_list, head) {
drm_mode_destroy(dev, mode);
}
@@ -964,6 +916,11 @@ void drm_mode_config_cleanup(drm_device_t *dev)
}
drm_framebuffer_destroy(fb);
}
+
+ list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, head) {
+ drm_crtc_destroy(crtc);
+ }
+
}
EXPORT_SYMBOL(drm_mode_config_cleanup);
diff --git a/linux-core/drm_crtc.h b/linux-core/drm_crtc.h
index 7ca8311b..e8a527b0 100644
--- a/linux-core/drm_crtc.h
+++ b/linux-core/drm_crtc.h
@@ -520,8 +520,12 @@ extern struct drm_display_mode *drm_crtc_mode_create(struct drm_device *dev);
extern bool drm_initial_config(struct drm_device *dev, bool cangrow);
extern void drm_framebuffer_set_object(struct drm_device *dev,
unsigned long handle);
+extern struct drm_framebuffer *drm_framebuffer_create(struct drm_device *dev);
+extern void drm_framebuffer_destroy(struct drm_framebuffer *fb);
extern int drmfb_probe(struct drm_device *dev, struct drm_crtc *crtc);
extern int drmfb_remove(struct drm_device *dev, struct drm_framebuffer *fb);
+extern bool drm_crtc_set_mode(struct drm_crtc *crtc, struct drm_display_mode *mode,
+ int x, int y);
/* IOCTLs */
extern int drm_mode_getresources(struct inode *inode, struct file *filp,
diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c
index dc52f302..76fb90c9 100644
--- a/linux-core/drm_drv.c
+++ b/linux-core/drm_drv.c
@@ -632,3 +632,45 @@ err_i1:
return retcode;
}
EXPORT_SYMBOL(drm_ioctl);
+
+int drm_wait_on(drm_device_t *dev, wait_queue_head_t *queue, int timeout,
+ int (*fn)(drm_device_t *dev, void *priv), void *priv)
+{
+ DECLARE_WAITQUEUE(entry, current);
+ unsigned long end = jiffies + (timeout);
+ int ret = 0;
+ add_wait_queue(queue, &entry);
+
+ for (;;) {
+ __set_current_state(TASK_INTERRUPTIBLE);
+ if ((*fn)(dev, priv))
+ break;
+ if (time_after_eq(jiffies, end)) {
+ ret = -EBUSY;
+ break;
+ }
+ schedule_timeout((HZ/100 > 1) ? HZ/100 : 1);
+ if (signal_pending(current)) {
+ ret = -EINTR;
+ break;
+ }
+ }
+ __set_current_state(TASK_RUNNING);
+ remove_wait_queue(queue, &entry);
+ return ret;
+}
+EXPORT_SYMBOL(drm_wait_on);
+
+drm_local_map_t *drm_getsarea(struct drm_device *dev)
+{
+ drm_map_list_t *entry;
+
+ list_for_each_entry(entry, &dev->maplist->head, head) {
+ if (entry->map && entry->map->type == _DRM_SHM &&
+ (entry->map->flags & _DRM_CONTAINS_LOCK)) {
+ return entry->map;
+ }
+ }
+ return NULL;
+}
+EXPORT_SYMBOL(drm_getsarea);
diff --git a/linux-core/drm_fb.c b/linux-core/drm_fb.c
index 7a105d59..775fd180 100644
--- a/linux-core/drm_fb.c
+++ b/linux-core/drm_fb.c
@@ -259,6 +259,7 @@ static int drmfb_set_par(struct fb_info *info)
drm_mode->clock = PICOS2KHZ(var->pixclock);
drm_mode->vrefresh = drm_mode_vrefresh(drm_mode);
drm_mode_set_name(drm_mode);
+ drm_mode_set_crtcinfo(drm_mode, CRTC_INTERLACE_HALVE_V);
#endif
if (!drm_crtc_set_mode(par->crtc, drm_mode, 0, 0))
@@ -418,9 +419,10 @@ int drmfb_probe(struct drm_device *dev, struct drm_crtc *crtc)
}
EXPORT_SYMBOL(drmfb_probe);
-int drmfb_remove(struct drm_device *dev, struct drm_framebuffer *fb)
+int drmfb_remove(struct drm_device *dev, struct drm_crtc *crtc)
{
struct fb_info *info = fb->fbdev;
+ struct drm_framebuffer *fb = crtc->fb;
if (info) {
drm_mem_reg_iounmap(dev, &fb->bo->mem, fb->virtual_base);
diff --git a/linux-core/drm_fence.c b/linux-core/drm_fence.c
index 088c50d6..ce161dc3 100644
--- a/linux-core/drm_fence.c
+++ b/linux-core/drm_fence.c
@@ -1,8 +1,8 @@
/**************************************************************************
- *
+ *
* Copyright (c) 2006-2007 Tungsten Graphics, Inc., Cedar Park, TX., USA
* All Rights Reserved.
- *
+ *
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
@@ -10,17 +10,17 @@
* distribute, sub license, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
- *
+ *
* The above copyright notice and this permission notice (including the
* next paragraph) shall be included in all copies or substantial portions
* of the Software.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
* USE OR OTHER DEALINGS IN THE SOFTWARE.
*
**************************************************************************/
@@ -49,8 +49,6 @@ void drm_fence_handler(drm_device_t * dev, uint32_t class,
int is_exe = (type & DRM_FENCE_TYPE_EXE);
int ge_last_exe;
-
-
diff = (sequence - fc->exe_flush_sequence) & driver->sequence_mask;
if (fc->pending_exe_flush && is_exe && diff < driver->wrap_diff)
@@ -59,13 +57,13 @@ void drm_fence_handler(drm_device_t * dev, uint32_t class,
diff = (sequence - fc->last_exe_flush) & driver->sequence_mask;
ge_last_exe = diff < driver->wrap_diff;
- if (ge_last_exe)
+ if (ge_last_exe)
fc->pending_flush &= ~type;
if (is_exe && ge_last_exe) {
fc->last_exe_flush = sequence;
}
-
+
if (list_empty(&fc->ring))
return;
@@ -107,9 +105,8 @@ void drm_fence_handler(drm_device_t * dev, uint32_t class,
fence->base.hash.key);
list_del_init(&fence->ring);
}
-
}
-
+
if (wake) {
DRM_WAKEUP(&fc->fence_queue);
}
@@ -266,7 +263,7 @@ void drm_fence_flush_old(drm_device_t * dev, uint32_t class, uint32_t sequence)
fc->exe_flush_sequence = sequence - (driver->flush_diff / 2);
}
write_unlock_irqrestore(&fm->lock, flags);
-
+
mutex_lock(&dev->struct_mutex);
read_lock_irqsave(&fm->lock, flags);
@@ -413,7 +410,7 @@ int drm_fence_object_emit(drm_device_t * dev, drm_fence_object_t * fence,
fence->signaled = 0x00;
fence->sequence = sequence;
fence->native_type = native_type;
- if (list_empty(&fc->ring))
+ if (list_empty(&fc->ring))
fc->last_exe_flush = sequence - 1;
list_add_tail(&fence->ring, &fc->ring);
write_unlock_irqrestore(&fm->lock, flags);
@@ -498,7 +495,6 @@ void drm_fence_manager_init(drm_device_t * dev)
drm_fence_driver_t *fed = dev->driver->fence_driver;
int i;
-
rwlock_init(&fm->lock);
write_lock(&fm->lock);
fm->initialized = 0;
diff --git a/linux-core/drm_memory.c b/linux-core/drm_memory.c
index 86c869f1..759e1f15 100644
--- a/linux-core/drm_memory.c
+++ b/linux-core/drm_memory.c
@@ -47,7 +47,7 @@ static struct {
static inline size_t drm_size_align(size_t size) {
- register size_t tmpSize = 4;
+ size_t tmpSize = 4;
if (size > PAGE_SIZE)
return PAGE_ALIGN(size);
diff --git a/linux-core/drm_objects.h b/linux-core/drm_objects.h
index 0c7f2e32..b6754453 100644
--- a/linux-core/drm_objects.h
+++ b/linux-core/drm_objects.h
@@ -29,8 +29,7 @@
*/
#ifndef _DRM_OBJECTS_H
-#define _DRM_OJBECTS_H
-#define DRM_HAS_TTM
+#define _DRM_OBJECTS_H
struct drm_device;
@@ -248,9 +247,9 @@ typedef struct drm_ttm_backend_func {
typedef struct drm_ttm_backend {
- uint32_t flags;
- int mem_type;
- drm_ttm_backend_func_t *func;
+ uint32_t flags;
+ int mem_type;
+ drm_ttm_backend_func_t *func;
} drm_ttm_backend_t;
typedef struct drm_ttm {
diff --git a/linux-core/drm_os_linux.h b/linux-core/drm_os_linux.h
index 816959e8..2ea105c5 100644
--- a/linux-core/drm_os_linux.h
+++ b/linux-core/drm_os_linux.h
@@ -119,24 +119,6 @@ static __inline__ int mtrr_del(int reg, unsigned long base, unsigned long size)
#define DRM_GET_PRIV_WITH_RETURN(_priv, _filp) _priv = _filp->private_data
-/**
- * Get the pointer to the SAREA.
- *
- * Searches the SAREA on the mapping lists and points drm_device::sarea to it.
- */
-#define DRM_GETSAREA() \
-do { \
- drm_map_list_t *entry; \
- list_for_each_entry( entry, &dev->maplist->head, head ) { \
- if ( entry->map && \
- entry->map->type == _DRM_SHM && \
- (entry->map->flags & _DRM_CONTAINS_LOCK) ) { \
- dev_priv->sarea = entry->map; \
- break; \
- } \
- } \
-} while (0)
-
#define DRM_HZ HZ
#define DRM_WAIT_ON( ret, queue, timeout, condition ) \
diff --git a/linux-core/drm_vm.c b/linux-core/drm_vm.c
index 1f905fba..b8871539 100644
--- a/linux-core/drm_vm.c
+++ b/linux-core/drm_vm.c
@@ -516,8 +516,7 @@ static int drm_mmap_dma(struct file *filp, struct vm_area_struct *vma)
return -EINVAL;
}
- if (!capable(CAP_SYS_ADMIN) &&
- (dma->flags & _DRM_DMA_USE_PCI_RO)) {
+ if (!capable(CAP_SYS_ADMIN) && (dma->flags & _DRM_DMA_USE_PCI_RO)) {
vma->vm_flags &= ~(VM_WRITE | VM_MAYWRITE);
#if defined(__i386__) || defined(__x86_64__)
pgprot_val(vma->vm_page_prot) &= ~_PAGE_RW;
@@ -739,7 +738,7 @@ static unsigned long drm_bo_vm_nopfn(struct vm_area_struct *vma,
unsigned long bus_base;
unsigned long bus_offset;
unsigned long bus_size;
- int ret = NOPFN_REFAULT;
+ unsigned long ret = NOPFN_REFAULT;
if (address > vma->vm_end)
return NOPFN_SIGBUS;
diff --git a/linux-core/intel_drv.h b/linux-core/intel_drv.h
index 9205b99b..0a03e37b 100644
--- a/linux-core/intel_drv.h
+++ b/linux-core/intel_drv.h
@@ -76,7 +76,7 @@ extern struct drm_display_mode *intel_crtc_mode_get(drm_device_t *dev,
extern void intel_wait_for_vblank(drm_device_t *dev);
extern struct drm_crtc *intel_get_crtc_from_pipe(drm_device_t *dev, int pipe);
-extern int intelfb_probe(struct drm_device *dev, struct drm_framebuffer *fb);
-extern int intelfb_remove(struct drm_device *dev, struct drm_framebuffer *fb);
+extern int intelfb_probe(struct drm_device *dev, struct drm_crtc *crtc);
+extern int intelfb_remove(struct drm_device *dev, struct drm_crtc *crtc);
#endif /* __INTEL_DRV_H__ */
diff --git a/linux-core/intel_fb.c b/linux-core/intel_fb.c
index 2ce66460..449ef543 100644
--- a/linux-core/intel_fb.c
+++ b/linux-core/intel_fb.c
@@ -211,7 +211,6 @@ static int intelfb_set_par(struct fb_info *info)
struct drm_device *dev = par->dev;
struct drm_display_mode *drm_mode;
struct fb_var_screeninfo *var = &info->var;
- struct drm_output *output;
switch (var->bits_per_pixel) {
case 16:
@@ -263,6 +262,7 @@ static int intelfb_set_par(struct fb_info *info)
drm_mode->clock = PICOS2KHZ(var->pixclock);
drm_mode->vrefresh = drm_mode_vrefresh(drm_mode);
drm_mode_set_name(drm_mode);
+ drm_mode_set_crtcinfo(drm_mode, CRTC_INTERLACE_HALVE_V);
#endif
if (!drm_crtc_set_mode(par->crtc, drm_mode, 0, 0))
@@ -444,8 +444,9 @@ int intelfb_probe(struct drm_device *dev, struct drm_crtc *crtc)
struct fb_info *info;
struct intelfb_par *par;
struct device *device = &dev->pdev->dev;
- struct drm_framebuffer *fb = crtc->fb;
+ struct drm_framebuffer *fb;
struct drm_display_mode *mode = crtc->desired_mode;
+ drm_buffer_object_t *fbo = NULL;
int ret;
info = framebuffer_alloc(sizeof(struct intelfb_par), device);
@@ -453,6 +454,41 @@ int intelfb_probe(struct drm_device *dev, struct drm_crtc *crtc)
return -EINVAL;
}
+ fb = drm_framebuffer_create(dev);
+ if (!fb) {
+ framebuffer_release(info);
+ DRM_ERROR("failed to allocate fb.\n");
+ return -EINVAL;
+ }
+ crtc->fb = fb;
+
+ fb->width = crtc->desired_mode->hdisplay;
+ fb->height = crtc->desired_mode->vdisplay;
+
+ fb->bits_per_pixel = 32;
+ fb->pitch = fb->width * ((fb->bits_per_pixel + 1) / 8);
+ fb->depth = 24;
+ ret = drm_buffer_object_create(dev,
+ fb->width * fb->height * 4,
+ drm_bo_type_kernel,
+ DRM_BO_FLAG_READ |
+ DRM_BO_FLAG_WRITE |
+ DRM_BO_FLAG_MEM_PRIV0 | /* FIXME! */
+ DRM_BO_FLAG_NO_MOVE,
+ 0, 0, 0,
+ &fbo);
+ if (ret || !fbo) {
+ printk(KERN_ERR "failed to allocate framebuffer\n");
+ drm_framebuffer_destroy(fb);
+ framebuffer_release(info);
+ return -EINVAL;
+ }
+ fb->offset = fbo->offset;
+ fb->bo = fbo;
+ printk("allocated %dx%d fb: 0x%08lx, bo %p\n", fb->width,
+ fb->height, fbo->offset, fbo);
+
+
fb->fbdev = info;
par = info->par;
@@ -505,7 +541,9 @@ int intelfb_probe(struct drm_device *dev, struct drm_crtc *crtc)
info->var.vsync_len = mode->vsync_end - mode->vsync_start;
info->var.upper_margin = mode->vtotal - mode->vsync_end;
info->var.pixclock = 10000000 / mode->htotal * 1000 /
- mode->vtotal * 100000 / mode->vrefresh;
+ mode->vtotal * 100;
+ /* avoid overflow */
+ info->var.pixclock = info->var.pixclock * 1000 / mode->vrefresh;
info->pixmap.size = 64*1024;
info->pixmap.buf_align = 8;
diff --git a/linux-core/intel_sdvo.c b/linux-core/intel_sdvo.c
index c02fd958..196298ff 100644
--- a/linux-core/intel_sdvo.c
+++ b/linux-core/intel_sdvo.c
@@ -213,20 +213,20 @@ static void intel_sdvo_write_cmd(struct drm_output *output, u8 cmd,
int i;
if (1) {
- printk("%s: W: %02X ", SDVO_NAME(sdvo_priv), cmd);
+ DRM_DEBUG("%s: W: %02X ", SDVO_NAME(sdvo_priv), cmd);
for (i = 0; i < args_len; i++)
- printk("%02X ", ((u8 *)args)[i]);
+ DRM_DEBUG("%02X ", ((u8 *)args)[i]);
for (; i < 8; i++)
- printk(" ");
+ DRM_DEBUG(" ");
for (i = 0; i < sizeof(sdvo_cmd_names) / sizeof(sdvo_cmd_names[0]); i++) {
if (cmd == sdvo_cmd_names[i].cmd) {
- printk("(%s)", sdvo_cmd_names[i].name);
+ DRM_DEBUG("(%s)", sdvo_cmd_names[i].name);
break;
}
}
if (i == sizeof(sdvo_cmd_names)/ sizeof(sdvo_cmd_names[0]))
- printk("(%02X)",cmd);
- printk("\n");
+ DRM_DEBUG("(%02X)",cmd);
+ DRM_DEBUG("\n");
}
for (i = 0; i < args_len; i++) {
@@ -266,16 +266,16 @@ static u8 intel_sdvo_read_response(struct drm_output *output, void *response,
intel_sdvo_read_byte(output, SDVO_I2C_CMD_STATUS, &status);
if (1) {
- printk("%s: R: ", SDVO_NAME(sdvo_priv));
+ DRM_DEBUG("%s: R: ", SDVO_NAME(sdvo_priv));
for (i = 0; i < response_len; i++)
- printk("%02X ", ((u8 *)response)[i]);
+ DRM_DEBUG("%02X ", ((u8 *)response)[i]);
for (; i < 8; i++)
- printk(" ");
+ DRM_DEBUG(" ");
if (status <= SDVO_CMD_STATUS_SCALING_NOT_SUPP)
- printk("(%s)", cmd_status_names[status]);
+ DRM_DEBUG("(%s)", cmd_status_names[status]);
else
- printk("(??? %d)", status);
- printk("\n");
+ DRM_DEBUG("(??? %d)", status);
+ DRM_DEBUG("\n");
}
if (status != SDVO_CMD_STATUS_PENDING)