aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/gma500
diff options
context:
space:
mode:
authorPatrik Jakobsson <patrik.r.jakobsson@gmail.com>2014-01-04 19:01:14 -0500
committerPatrik Jakobsson <patrik.r.jakobsson@gmail.com>2014-03-17 15:11:57 -0400
commitae0b93188160d9f4fd2c0e49e9fe24a489550280 (patch)
treed5388f50f12225c274b292fea94e914b4caebffe /drivers/gpu/drm/gma500
parent8f3948729dff052c5c2b0b93edaa69512d8a4913 (diff)
drm/gma500: Remove unused ioctls
All of these ioctls are unused and most of them just duplicate what drm already provides. Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/gma500')
-rw-r--r--drivers/gpu/drm/gma500/gem.c44
-rw-r--r--drivers/gpu/drm/gma500/psb_drv.c196
-rw-r--r--drivers/gpu/drm/gma500/psb_intel_display.c27
-rw-r--r--drivers/gpu/drm/gma500/psb_intel_drv.h2
4 files changed, 0 insertions, 269 deletions
diff --git a/drivers/gpu/drm/gma500/gem.c b/drivers/gpu/drm/gma500/gem.c
index e2db48a81ed0..1e33a71e4167 100644
--- a/drivers/gpu/drm/gma500/gem.c
+++ b/drivers/gpu/drm/gma500/gem.c
@@ -229,47 +229,3 @@ fail:
229 return VM_FAULT_SIGBUS; 229 return VM_FAULT_SIGBUS;
230 } 230 }
231} 231}
232
233static int psb_gem_create_stolen(struct drm_file *file, struct drm_device *dev,
234 int size, u32 *handle)
235{
236 struct gtt_range *gtt = psb_gtt_alloc_range(dev, size, "gem", 1);
237 if (gtt == NULL)
238 return -ENOMEM;
239
240 drm_gem_private_object_init(dev, &gtt->gem, size);
241 if (drm_gem_handle_create(file, &gtt->gem, handle) == 0)
242 return 0;
243
244 drm_gem_object_release(&gtt->gem);
245 psb_gtt_free_range(dev, gtt);
246 return -ENOMEM;
247}
248
249/*
250 * GEM interfaces for our specific client
251 */
252int psb_gem_create_ioctl(struct drm_device *dev, void *data,
253 struct drm_file *file)
254{
255 struct drm_psb_gem_create *args = data;
256 int ret;
257 if (args->flags & GMA_GEM_CREATE_STOLEN) {
258 ret = psb_gem_create_stolen(file, dev, args->size,
259 &args->handle);
260 if (ret == 0)
261 return 0;
262 /* Fall throguh */
263 args->flags &= ~GMA_GEM_CREATE_STOLEN;
264 }
265 return psb_gem_create(file, dev, args->size, &args->handle);
266}
267
268int psb_gem_mmap_ioctl(struct drm_device *dev, void *data,
269 struct drm_file *file)
270{
271 struct drm_psb_gem_mmap *args = data;
272 return dev->driver->dumb_map_offset(file, dev,
273 args->handle, &args->offset);
274}
275
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
index 99e8f78b8b17..2e8605e76a7c 100644
--- a/drivers/gpu/drm/gma500/psb_drv.c
+++ b/drivers/gpu/drm/gma500/psb_drv.c
@@ -21,7 +21,6 @@
21 21
22#include <drm/drmP.h> 22#include <drm/drmP.h>
23#include <drm/drm.h> 23#include <drm/drm.h>
24#include <drm/gma_drm.h>
25#include "psb_drv.h" 24#include "psb_drv.h"
26#include "framebuffer.h" 25#include "framebuffer.h"
27#include "psb_reg.h" 26#include "psb_reg.h"
@@ -89,56 +88,7 @@ MODULE_DEVICE_TABLE(pci, pciidlist);
89/* 88/*
90 * Standard IOCTLs. 89 * Standard IOCTLs.
91 */ 90 */
92
93#define DRM_IOCTL_GMA_ADB \
94 DRM_IOWR(DRM_GMA_ADB + DRM_COMMAND_BASE, uint32_t)
95#define DRM_IOCTL_GMA_MODE_OPERATION \
96 DRM_IOWR(DRM_GMA_MODE_OPERATION + DRM_COMMAND_BASE, \
97 struct drm_psb_mode_operation_arg)
98#define DRM_IOCTL_GMA_STOLEN_MEMORY \
99 DRM_IOWR(DRM_GMA_STOLEN_MEMORY + DRM_COMMAND_BASE, \
100 struct drm_psb_stolen_memory_arg)
101#define DRM_IOCTL_GMA_GAMMA \
102 DRM_IOWR(DRM_GMA_GAMMA + DRM_COMMAND_BASE, \
103 struct drm_psb_dpst_lut_arg)
104#define DRM_IOCTL_GMA_DPST_BL \
105 DRM_IOWR(DRM_GMA_DPST_BL + DRM_COMMAND_BASE, \
106 uint32_t)
107#define DRM_IOCTL_GMA_GET_PIPE_FROM_CRTC_ID \
108 DRM_IOWR(DRM_GMA_GET_PIPE_FROM_CRTC_ID + DRM_COMMAND_BASE, \
109 struct drm_psb_get_pipe_from_crtc_id_arg)
110#define DRM_IOCTL_GMA_GEM_CREATE \
111 DRM_IOWR(DRM_GMA_GEM_CREATE + DRM_COMMAND_BASE, \
112 struct drm_psb_gem_create)
113#define DRM_IOCTL_GMA_GEM_MMAP \
114 DRM_IOWR(DRM_GMA_GEM_MMAP + DRM_COMMAND_BASE, \
115 struct drm_psb_gem_mmap)
116
117static int psb_adb_ioctl(struct drm_device *dev, void *data,
118 struct drm_file *file_priv);
119static int psb_mode_operation_ioctl(struct drm_device *dev, void *data,
120 struct drm_file *file_priv);
121static int psb_stolen_memory_ioctl(struct drm_device *dev, void *data,
122 struct drm_file *file_priv);
123static int psb_gamma_ioctl(struct drm_device *dev, void *data,
124 struct drm_file *file_priv);
125static int psb_dpst_bl_ioctl(struct drm_device *dev, void *data,
126 struct drm_file *file_priv);
127
128static const struct drm_ioctl_desc psb_ioctls[] = { 91static const struct drm_ioctl_desc psb_ioctls[] = {
129 DRM_IOCTL_DEF_DRV(GMA_ADB, psb_adb_ioctl, DRM_AUTH),
130 DRM_IOCTL_DEF_DRV(GMA_MODE_OPERATION, psb_mode_operation_ioctl,
131 DRM_AUTH),
132 DRM_IOCTL_DEF_DRV(GMA_STOLEN_MEMORY, psb_stolen_memory_ioctl,
133 DRM_AUTH),
134 DRM_IOCTL_DEF_DRV(GMA_GAMMA, psb_gamma_ioctl, DRM_AUTH),
135 DRM_IOCTL_DEF_DRV(GMA_DPST_BL, psb_dpst_bl_ioctl, DRM_AUTH),
136 DRM_IOCTL_DEF_DRV(GMA_GET_PIPE_FROM_CRTC_ID,
137 psb_intel_get_pipe_from_crtc_id, 0),
138 DRM_IOCTL_DEF_DRV(GMA_GEM_CREATE, psb_gem_create_ioctl,
139 DRM_UNLOCKED | DRM_AUTH),
140 DRM_IOCTL_DEF_DRV(GMA_GEM_MMAP, psb_gem_mmap_ioctl,
141 DRM_UNLOCKED | DRM_AUTH),
142}; 92};
143 93
144static void psb_lastclose(struct drm_device *dev) 94static void psb_lastclose(struct drm_device *dev)
@@ -451,152 +401,6 @@ static inline void get_brightness(struct backlight_device *bd)
451#endif 401#endif
452} 402}
453 403
454static int psb_dpst_bl_ioctl(struct drm_device *dev, void *data,
455 struct drm_file *file_priv)
456{
457 struct drm_psb_private *dev_priv = psb_priv(dev);
458 uint32_t *arg = data;
459
460 dev_priv->blc_adj2 = *arg;
461 get_brightness(dev_priv->backlight_device);
462 return 0;
463}
464
465static int psb_adb_ioctl(struct drm_device *dev, void *data,
466 struct drm_file *file_priv)
467{
468 struct drm_psb_private *dev_priv = psb_priv(dev);
469 uint32_t *arg = data;
470
471 dev_priv->blc_adj1 = *arg;
472 get_brightness(dev_priv->backlight_device);
473 return 0;
474}
475
476static int psb_gamma_ioctl(struct drm_device *dev, void *data,
477 struct drm_file *file_priv)
478{
479 struct drm_psb_dpst_lut_arg *lut_arg = data;
480 struct drm_mode_object *obj;
481 struct drm_crtc *crtc;
482 struct drm_connector *connector;
483 struct gma_crtc *gma_crtc;
484 int i = 0;
485 int32_t obj_id;
486
487 obj_id = lut_arg->output_id;
488 obj = drm_mode_object_find(dev, obj_id, DRM_MODE_OBJECT_CONNECTOR);
489 if (!obj) {
490 dev_dbg(dev->dev, "Invalid Connector object.\n");
491 return -ENOENT;
492 }
493
494 connector = obj_to_connector(obj);
495 crtc = connector->encoder->crtc;
496 gma_crtc = to_gma_crtc(crtc);
497
498 for (i = 0; i < 256; i++)
499 gma_crtc->lut_adj[i] = lut_arg->lut[i];
500
501 gma_crtc_load_lut(crtc);
502
503 return 0;
504}
505
506static int psb_mode_operation_ioctl(struct drm_device *dev, void *data,
507 struct drm_file *file_priv)
508{
509 uint32_t obj_id;
510 uint16_t op;
511 struct drm_mode_modeinfo *umode;
512 struct drm_display_mode *mode = NULL;
513 struct drm_psb_mode_operation_arg *arg;
514 struct drm_mode_object *obj;
515 struct drm_connector *connector;
516 struct drm_connector_helper_funcs *connector_funcs;
517 int ret = 0;
518 int resp = MODE_OK;
519
520 arg = (struct drm_psb_mode_operation_arg *)data;
521 obj_id = arg->obj_id;
522 op = arg->operation;
523
524 switch (op) {
525 case PSB_MODE_OPERATION_MODE_VALID:
526 umode = &arg->mode;
527
528 drm_modeset_lock_all(dev);
529
530 obj = drm_mode_object_find(dev, obj_id,
531 DRM_MODE_OBJECT_CONNECTOR);
532 if (!obj) {
533 ret = -ENOENT;
534 goto mode_op_out;
535 }
536
537 connector = obj_to_connector(obj);
538
539 mode = drm_mode_create(dev);
540 if (!mode) {
541 ret = -ENOMEM;
542 goto mode_op_out;
543 }
544
545 /* drm_crtc_convert_umode(mode, umode); */
546 {
547 mode->clock = umode->clock;
548 mode->hdisplay = umode->hdisplay;
549 mode->hsync_start = umode->hsync_start;
550 mode->hsync_end = umode->hsync_end;
551 mode->htotal = umode->htotal;
552 mode->hskew = umode->hskew;
553 mode->vdisplay = umode->vdisplay;
554 mode->vsync_start = umode->vsync_start;
555 mode->vsync_end = umode->vsync_end;
556 mode->vtotal = umode->vtotal;
557 mode->vscan = umode->vscan;
558 mode->vrefresh = umode->vrefresh;
559 mode->flags = umode->flags;
560 mode->type = umode->type;
561 strncpy(mode->name, umode->name, DRM_DISPLAY_MODE_LEN);
562 mode->name[DRM_DISPLAY_MODE_LEN-1] = 0;
563 }
564
565 connector_funcs = (struct drm_connector_helper_funcs *)
566 connector->helper_private;
567
568 if (connector_funcs->mode_valid) {
569 resp = connector_funcs->mode_valid(connector, mode);
570 arg->data = resp;
571 }
572
573 /*do some clean up work*/
574 if (mode)
575 drm_mode_destroy(dev, mode);
576mode_op_out:
577 drm_modeset_unlock_all(dev);
578 return ret;
579
580 default:
581 dev_dbg(dev->dev, "Unsupported psb mode operation\n");
582 return -EOPNOTSUPP;
583 }
584
585 return 0;
586}
587
588static int psb_stolen_memory_ioctl(struct drm_device *dev, void *data,
589 struct drm_file *file_priv)
590{
591 struct drm_psb_private *dev_priv = psb_priv(dev);
592 struct drm_psb_stolen_memory_arg *arg = data;
593
594 arg->base = dev_priv->stolen_base;
595 arg->size = dev_priv->vram_stolen_size;
596
597 return 0;
598}
599
600static int psb_driver_open(struct drm_device *dev, struct drm_file *priv) 404static int psb_driver_open(struct drm_device *dev, struct drm_file *priv)
601{ 405{
602 return 0; 406 return 0;
diff --git a/drivers/gpu/drm/gma500/psb_intel_display.c b/drivers/gpu/drm/gma500/psb_intel_display.c
index c8841ac6c8f1..f65bcc4f7bff 100644
--- a/drivers/gpu/drm/gma500/psb_intel_display.c
+++ b/drivers/gpu/drm/gma500/psb_intel_display.c
@@ -554,33 +554,6 @@ void psb_intel_crtc_init(struct drm_device *dev, int pipe,
554 gma_crtc->active = true; 554 gma_crtc->active = true;
555} 555}
556 556
557int psb_intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data,
558 struct drm_file *file_priv)
559{
560 struct drm_psb_private *dev_priv = dev->dev_private;
561 struct drm_psb_get_pipe_from_crtc_id_arg *pipe_from_crtc_id = data;
562 struct drm_mode_object *drmmode_obj;
563 struct gma_crtc *crtc;
564
565 if (!dev_priv) {
566 dev_err(dev->dev, "called with no initialization\n");
567 return -EINVAL;
568 }
569
570 drmmode_obj = drm_mode_object_find(dev, pipe_from_crtc_id->crtc_id,
571 DRM_MODE_OBJECT_CRTC);
572
573 if (!drmmode_obj) {
574 dev_err(dev->dev, "no such CRTC id\n");
575 return -ENOENT;
576 }
577
578 crtc = to_gma_crtc(obj_to_crtc(drmmode_obj));
579 pipe_from_crtc_id->pipe = crtc->pipe;
580
581 return 0;
582}
583
584struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, int pipe) 557struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, int pipe)
585{ 558{
586 struct drm_crtc *crtc = NULL; 559 struct drm_crtc *crtc = NULL;
diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h
index dc2c8eb030fa..336bd3aa1a06 100644
--- a/drivers/gpu/drm/gma500/psb_intel_drv.h
+++ b/drivers/gpu/drm/gma500/psb_intel_drv.h
@@ -238,8 +238,6 @@ static inline struct gma_encoder *gma_attached_encoder(
238 238
239extern struct drm_display_mode *psb_intel_crtc_mode_get(struct drm_device *dev, 239extern struct drm_display_mode *psb_intel_crtc_mode_get(struct drm_device *dev,
240 struct drm_crtc *crtc); 240 struct drm_crtc *crtc);
241extern int psb_intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data,
242 struct drm_file *file_priv);
243extern struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, 241extern struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev,
244 int pipe); 242 int pipe);
245extern struct drm_connector *psb_intel_sdvo_find(struct drm_device *dev, 243extern struct drm_connector *psb_intel_sdvo_find(struct drm_device *dev,