<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - DRM / KMS bootup error on VX900 platform"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94473#c33">Comment # 33</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - DRM / KMS bootup error on VX900 platform"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94473">bug 94473</a>
              from <span class="vcard"><a class="email" href="mailto:huangran@iscas.ac.cn" title="HuangRan <huangran@iscas.ac.cn>"> <span class="fn">HuangRan</span></a>
</span></b>
        <pre>(In reply to Kevin Brace from <a href="show_bug.cgi?id=94473#c26">comment #26</a>)
<span class="quote">> Hi Frank,

> I am just wondering.
> Shouldn't DRIVER_MODESET be ORed for driver_features member of drm_driver
> structure inside via_drv.c?
> DRIVER_MODESET identifies the availability of KMS.

> _________________________________________________________________________
> static struct drm_driver via_driver = {
>    .driver_features = DRIVER_USE_AGP | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED    
>                            | DRIVER_GEM,
>    .load = via_driver_load,
>    .unload = via_driver_unload,
>    .preclose = via_reclaim_buffers_locked,
>    .context_dtor = via_final_context,
>    .get_vblank_counter = drm_vblank_count,
>    .enable_vblank = via_enable_vblank,
>    .disable_vblank = via_disable_vblank,
>    .irq_preinstall = via_driver_irq_preinstall,
>    .irq_postinstall = via_driver_irq_postinstall,
>    .irq_uninstall = via_driver_irq_uninstall,
>    .irq_handler = via_driver_irq_handler,
>    .dma_quiescent = via_driver_dma_quiescent,
>    .lastclose = via_driver_lastclose,
>    .set_busid = drm_pci_set_busid,
>    .gem_open_object = ttm_gem_open_object,
>    .gem_free_object = ttm_gem_free_object,
>    .dumb_create = via_dumb_create,
>    .dumb_map_offset = via_dumb_mmap,
>    .dumb_destroy = gem_dumb_destroy,
>    .ioctls = via_ioctls,
>    .fops = &via_driver_fops,
>    .name = DRIVER_NAME,
>    .desc = DRIVER_DESC,
>    .date = DRIVER_DATE,
>    .major = DRIVER_MAJOR,
>    .minor = DRIVER_MINOR,
>    .patchlevel = DRIVER_PATCHLEVEL,
> };
> _________________________________________________________________________


> I got this idea from this section of the DRM development guide.

> <a href="http://free-electrons.com/kerneldoc//latest/DocBook/gpu/drmInternals.html#id">http://free-electrons.com/kerneldoc//latest/DocBook/gpu/drmInternals.html#id</a>-
> 1.3.4.5.4</span >

Hi Kevin, 

  Yup, you are right. So you can see in via_drv.c file, function via_init()
will OR this value to make kernel driver to be KMS mode. For general linux
kernel, there is no such flag which will make KMS disabled in kernel. And DDX
will check this value by drmCheckModesettingSupported() call. you can see
/sys/bus/pci/devices/0000:00:01.0, there is an drm/ControlD64 directory which
is registered by drm module. If DRIVER_MODESET is ORed by via.ko, DDX will
recognize KMS enabled by drmCheckModesettingSupported() call with "ControlD"
flag.

Thanks,
Frank</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>