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