Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: vgaarb: trivial fix drm: radeon cleanup fixes... drm: fix trivial coding errors drm: ttm sparse fixes. drm/nouveau: fix panels using straps-based mode detection drm/ttm: Clear the ghost cpu_writers flag on ttm_buffer_object_transfer. drm/radeon: don't allow device to be opened if powered down
This commit is contained in:
Коммит
cbff1e91bf
|
@ -98,8 +98,8 @@ EXPORT_SYMBOL(drm_buffer_alloc);
|
|||
* user_data: A pointer the data that is copied to the buffer.
|
||||
* size: The Number of bytes to copy.
|
||||
*/
|
||||
extern int drm_buffer_copy_from_user(struct drm_buffer *buf,
|
||||
void __user *user_data, int size)
|
||||
int drm_buffer_copy_from_user(struct drm_buffer *buf,
|
||||
void __user *user_data, int size)
|
||||
{
|
||||
int nr_pages = size / PAGE_SIZE + 1;
|
||||
int idx;
|
||||
|
@ -163,7 +163,7 @@ void *drm_buffer_read_object(struct drm_buffer *buf,
|
|||
{
|
||||
int idx = drm_buffer_index(buf);
|
||||
int page = drm_buffer_page(buf);
|
||||
void *obj = 0;
|
||||
void *obj = NULL;
|
||||
|
||||
if (idx + objsize <= PAGE_SIZE) {
|
||||
obj = &buf->data[page][idx];
|
||||
|
|
|
@ -558,8 +558,10 @@ nouveau_connector_get_modes(struct drm_connector *connector)
|
|||
if (nv_encoder->dcb->type == OUTPUT_LVDS &&
|
||||
(nv_encoder->dcb->lvdsconf.use_straps_for_mode ||
|
||||
dev_priv->vbios.fp_no_ddc) && nouveau_bios_fp_mode(dev, NULL)) {
|
||||
nv_connector->native_mode = drm_mode_create(dev);
|
||||
nouveau_bios_fp_mode(dev, nv_connector->native_mode);
|
||||
struct drm_display_mode mode;
|
||||
|
||||
nouveau_bios_fp_mode(dev, &mode);
|
||||
nv_connector->native_mode = drm_mode_duplicate(dev, &mode);
|
||||
}
|
||||
|
||||
/* Find the native mode if this is a digital panel, if we didn't
|
||||
|
|
|
@ -4999,7 +4999,7 @@ typedef struct _SW_I2C_IO_DATA_PARAMETERS
|
|||
#define SW_I2C_CNTL_WRITE1BIT 6
|
||||
|
||||
//==============================VESA definition Portion===============================
|
||||
#define VESA_OEM_PRODUCT_REV '01.00'
|
||||
#define VESA_OEM_PRODUCT_REV "01.00"
|
||||
#define VESA_MODE_ATTRIBUTE_MODE_SUPPORT 0xBB //refer to VBE spec p.32, no TTY support
|
||||
#define VESA_MODE_WIN_ATTRIBUTE 7
|
||||
#define VESA_WIN_SIZE 64
|
||||
|
|
|
@ -2729,7 +2729,7 @@ int r600_ib_test(struct radeon_device *rdev)
|
|||
if (i < rdev->usec_timeout) {
|
||||
DRM_INFO("ib test succeeded in %u usecs\n", i);
|
||||
} else {
|
||||
DRM_ERROR("radeon: ib test failed (sracth(0x%04X)=0x%08X)\n",
|
||||
DRM_ERROR("radeon: ib test failed (scratch(0x%04X)=0x%08X)\n",
|
||||
scratch, tmp);
|
||||
r = -EINVAL;
|
||||
}
|
||||
|
|
|
@ -203,6 +203,10 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
|
|||
*/
|
||||
int radeon_driver_firstopen_kms(struct drm_device *dev)
|
||||
{
|
||||
struct radeon_device *rdev = dev->dev_private;
|
||||
|
||||
if (rdev->powered_down)
|
||||
return -EINVAL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -351,6 +351,7 @@ static int ttm_buffer_object_transfer(struct ttm_buffer_object *bo,
|
|||
INIT_LIST_HEAD(&fbo->lru);
|
||||
INIT_LIST_HEAD(&fbo->swap);
|
||||
fbo->vm_node = NULL;
|
||||
atomic_set(&fbo->cpu_writers, 0);
|
||||
|
||||
fbo->sync_obj = driver->sync_obj_ref(bo->sync_obj);
|
||||
kref_init(&fbo->list_kref);
|
||||
|
|
|
@ -69,7 +69,7 @@ struct ttm_page_pool {
|
|||
spinlock_t lock;
|
||||
bool fill_lock;
|
||||
struct list_head list;
|
||||
int gfp_flags;
|
||||
gfp_t gfp_flags;
|
||||
unsigned npages;
|
||||
char *name;
|
||||
unsigned long nfrees;
|
||||
|
@ -475,7 +475,7 @@ static void ttm_handle_caching_state_failure(struct list_head *pages,
|
|||
* This function is reentrant if caller updates count depending on number of
|
||||
* pages returned in pages array.
|
||||
*/
|
||||
static int ttm_alloc_new_pages(struct list_head *pages, int gfp_flags,
|
||||
static int ttm_alloc_new_pages(struct list_head *pages, gfp_t gfp_flags,
|
||||
int ttm_flags, enum ttm_caching_state cstate, unsigned count)
|
||||
{
|
||||
struct page **caching_array;
|
||||
|
@ -666,7 +666,7 @@ int ttm_get_pages(struct list_head *pages, int flags,
|
|||
{
|
||||
struct ttm_page_pool *pool = ttm_get_pool(flags, cstate);
|
||||
struct page *p = NULL;
|
||||
int gfp_flags = GFP_USER;
|
||||
gfp_t gfp_flags = GFP_USER;
|
||||
int r;
|
||||
|
||||
/* set zero flag for page allocation if required */
|
||||
|
@ -818,7 +818,7 @@ int ttm_page_alloc_init(struct ttm_mem_global *glob, unsigned max_pages)
|
|||
return 0;
|
||||
}
|
||||
|
||||
void ttm_page_alloc_fini()
|
||||
void ttm_page_alloc_fini(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
|
@ -598,7 +598,7 @@ static inline void vga_update_device_decodes(struct vga_device *vgadev,
|
|||
pr_debug("vgaarb: decoding count now is: %d\n", vga_decode_count);
|
||||
}
|
||||
|
||||
void __vga_set_legacy_decoding(struct pci_dev *pdev, unsigned int decodes, bool userspace)
|
||||
static void __vga_set_legacy_decoding(struct pci_dev *pdev, unsigned int decodes, bool userspace)
|
||||
{
|
||||
struct vga_device *vgadev;
|
||||
unsigned long flags;
|
||||
|
|
Загрузка…
Ссылка в новой задаче