I'm working on modesetting, and I'm kind of unsure how to proceed.

My repository is here (ignore all the commit dates):
http://git.kernel.org/?p=linux/kernel/git/mattst88/glint.git;a=summary

I've filled out struct drm_crtc_funcs in glint_crtc.c, except for
cursor_{set,move} (I think I can ignore them for the time being,
right?), and think filling out drm_crtc_helper_funcs is probably the
next step. Locally, I've implemented glint_crtc_dpms, since it gets
called by various other drm_crtc_helper_funcs.

I'm unsure what mode_fixup is, exactly. Alex tells me on IRC that it's
for scaling, which is what the radeon driver does with it.
nv04_crtc.c:nv_crtc_mode_fixup and nv50_crtc.c:nv50_crtc_mode_fixup do
nothing except returning true though. Why?
intel_display.c:intel_crtc_mode_fixup looks like it checks some clocks
or something. I'm not sure what needs to happen in this function, so
please give hints as to what my driver should be doing here.

The biggest piece of implementing drm_crtc_helper_funcs is mode_set.
I've got drivers/video/pm3fb.c in the kernel for reference and the
-glint DDX, so I think I can figure out how to program the clocks, but
trying to figure out the other things that need to happen in mode_set
are getting me. The intel driver's intel_crtc_mode_set is an example
of a function that needs to be split for clarity (600 lines). The
radeon driver's radeon_crtc_mode_set is pretty clear, and calls
radeon_mode_set_base which looks like it's setting up the scanout
buffer for fbcon. Since I haven't done memory management yet, a nudge
in the the right direction here would be nice as well.

Also, at what point do I need to setup encoders/connectors? It looks
like some of these functions are being called by functions in
drm_crtc_helper_funcs.

For both my ability to understand, and for the latter part of the
project, the documentation and tutorial/guides, I'd like to make as
small and incremental changes as possible. Ideally, add a few
functions, be able to see some new growth in the driver. Is there any
milestone I can hit here before going all the way to framebuffer
console? It'd be nice to be able to verify functions like
glint_crtc_load_lut or glint_crtc_dpms work correctly before I add a
bunch more code that depends on them.

Thanks!
Matt

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to