[PATCH v2 10/10] drm/ofdrm: Support color management
Benjamin Herrenschmidt
benh at kernel.crashing.org
Fri Aug 5 10:29:01 AEST 2022
On Wed, 2022-07-27 at 10:41 +0200, Thomas Zimmermann wrote:
>
> > > +static void __iomem *ofdrm_mach64_cmap_ioremap(struct ofdrm_device *odev,
> > > + struct device_node *of_node,
> > > + u64 fb_base)
> > > +{
> > > + struct drm_device *dev = &odev->dev;
> > > + u64 address;
> > > + void __iomem *cmap_base;
> > > +
> > > + address = fb_base & 0xff000000ul;
> > > + address += 0x7ff000;
> > > +
> >
> > It would be good to know where these addresses are coming from. Maybe some
> > constant macros or a comment ? Same for the other places where addresses
> > and offsets are used.
>
> I have no idea where these values come from. I took them from offb. And
> I suspect that some of these CMAP helpers could be further merged if
> only it was clear where the numbers come from. But as i don't have the
> equipment for testing, I took most of this literally as-is from offb.
Ancient black magic :-) Old ATI mach64 chips had the registers sitting
at the end of the framebuffer. You can find an equivalent in
drivers/video/aty/atyfb_base.c:atyfb_setup_generic():
raddr = addr + 0x7ff000UL;
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list