Re: HP 9000 Series 332 support. Hardware request.
David Brownlee <[email protected]> Fri, 27 Sep 2013 22:15:25 +0100
| Newsgroups | gmane.os.netbsd.ports.hp300 |
|---|---|
| Message-ID | <CAGN_6pbdxoQ5Vx_zzOuccPNVmvUp60ObUpsKCTNBHiTLGfBsfg@mail.gmail.com> |
On 27 September 2013 22:00, Andrew Gillham <[email protected]> wrote: > > Ok, trying to read causes a trap, not just write. > What seems to work is tc->regs. objects like fbid, frame buffer / > display dimensions etc. > What is broken is tc->{plane_mask,cindex,rdata,gdata,bdata,strobe} and > 'tccm_waitbusy' as well. > > With a return at the top of topcat_setcolor() and the monitor hooked > up, serial console disabled it comes right up. The display seems to > work fine in the minimal tests I did before switching back to serial > console. > > Any ideas how to detect this limited topcat and not access > non-existent registers? I don't have an HP332 option or HP_332 model > id at this point. There is too much magic cookie stuff in locore.s > for model number recognition for me to figure it out. > I would think if tc->num_planes==1 we could skip the topcat_setcolor > stuff but I don't really know. If sc->sc_fb->planes == 1 is enough for _attach() to report it as a HP98544 topcat then I would have thought it a sufficient check to disable all the colour related logic as well. I'm assuming the various topcats are fixed bitdepth, so a HP98547 could not run in 1bpp. Certainly the driver assumes that :) Possibly just by wrapping the for statements around the two calls to topcat_setcolor() with an if (fb->planes > 1).