Craig,

I re-read your post and I appologuise for misunderstanding.
I looked into finding that IOCTL and it's found the the TI third party
kernel patch named:
ti_davinci_mv_1_0_vpbe_driver_013

FBIO_GET_TIMING is listed as a private ioctl which explains why montavista
didn't expose it in the header.

This is found on the montavista zone support site at the very bottom of the
LSP updates page (there's a link to an FTP site).
Note that this patch will NOT apply cleanly at all to the latest MV 2.6.10
kernel. Here's the relevent sections of the patch:

linux-2.6.10_mvl401/drivers/video/davincifb.h:

#define FBIO_GET_TIMING                 \
      _IOR('F', 0x45, sizeof(struct vpbe_fb_videomode))

where the struct is defined as:

/*
 *  Videmode structure for display interface and mode settings
 */
typedef struct vpbe_fb_videomode {
      unsigned char name[10]; /* Mode name ( NTSC , PAL) */
      unsigned int vmode;     /* FB_MODE_INTERLACED or
FB_MODE_NON_INTERLACED */
      unsigned int xres;      /* X Resolution of the display */
      unsigned int yres;      /* Y Resolution of the display */
      unsigned int fps; /* frames per second */
      /* Timing Parameters applicable for std = 0 only */
      unsigned int left_margin;
      unsigned int right_margin;
      unsigned int upper_margin;
      unsigned int lower_margin;
      unsigned int hsync_len;
      unsigned int vsync_len;
      unsigned int sync;      /* 0: hsync -ve/vsync -ve */
      /*1: hsync -ve/vsync +ve */
      /*2: hsync +ve/vsync -ve */
      /*3: hsync +ve/vsync +ve */
      unsigned int basepx;    /* Display x,y start position */
      unsigned int basepy;
                 /*  1= Mode s available in modelist 0=Mode is not
available in modelist */
      unsigned int std;
} vpbe_fb_videomode_t;


Here's the case inside the iotcl handler...

linux-2.6.10_mvl401/drivers/video/davincifb.c:

 static int
 davincifb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
            unsigned long arg, struct fb_info *info)
{
// .... code omitted
      case FBIO_GET_TIMING:
            if ((retval =
                 copy_to_user(argp, &dm->videomode,
                          sizeof(dm->videomode))) < 0)
                  return retval;
            break;
}

where dm is declared as:

vpbe_dm_info_t dm_static;
vpbe_dm_info_t *dm = &dm_static;

Finally, here's the struct declaration:

typedef struct vpbe_dm_info {
      vpbe_dm_win_info_t *osd0;
      vpbe_dm_win_info_t *osd1;
      vpbe_dm_win_info_t *vid0;
      vpbe_dm_win_info_t *vid1;

/* to map the registers */
      dma_addr_t mmio_base_phys;
      unsigned int mmio_base;
      unsigned int mmio_size;

      wait_queue_head_t vsync_wait;
      unsigned int vsync_cnt;
      int timeout;

      /* this is the function that configures the output device
(NTSC/PAL/LCD)
       * for the required output format (composite/s-video/component/rgb)
       */
      void (*output_device_config) (void);

      struct device *dev;

      vpbe_backg_color_t backg;     /* background color */
      vpbe_dclk_t dclk; /*DCLK parameters */
      vpbe_display_format_t display;      /*Display interface and mode */
      vpbe_fb_videomode_t videomode;      /*Cuurent videomode */
      char ram_clut[256][3];  /*RAM CLUT array */
      struct fb_cursor cursor;      /* cursor config params from fb.h */
/*Flag that indicates whether any of the display is enabled or not*/
      int display_enable;
} vpbe_dm_info_t;

I have a lot of other things in my queue at the moment so I won't be able
to make a patch for some time, but I hope this gives you enough info to
track it down in the MV 2.6.10 kernel.
I'm guessing that montavista changed or eliminated these structs to clean
up and standardize the code (which is a common theme for the code that TI
produced) so there's some investigation to be done.

I'll check back in if I find anything new.

DAVID A. KONDRAD
Software Design Engineer
On-Q/Legrand
www.onqlegrand.com


_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to