Re: [Linux-fbdev-devel] fbmem: is bootup logo broken for monochrome LCD ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/22/06, James Simmons <[email protected]> wrote:
Replace the below line in my patch I sent

> >                     val |= color << shift;

with
                        val <<= shift;
                        val |= color;

I think it can't work since shift is 0 to 31, you'll end up with 'val
<<= 31' which I don't think is what you want.

doing
                        val <<= 1;

make it works but it's still very fragile. Code which deals with
trailing bit seems bogus since new value of 'val' is simply discarded
here.

               /* write trailing bits */
               if (shift) {
                       u32 end_mask = (~(u32)0 << shift);

                       val = FB_READL(dst1);
                       val &= end_mask;
                       FB_WRITEL(val, dst1);
               }

Another thing is that I don't see how very small images (for example
when image->width = 4) will be handled.

> >                    /* Did the bitshift spill bits to the next long? */
> >                        if (shift >= 31) {
> >                                FB_WRITEL(val, dst++);
> >                                val = (shift == 31) ? 0 :(color >> (32 - shift));
> >                        }
> >                        shift += 1;
> >                        shift &= (32 - 1);
> >                }
> >
> >                [ ...]

Let me know if that works.

I'm wondering if working with 32 bits words really worth... I mean the
code is quite hard to follow because it needs to deal with endianess,
heading bits, trailings bits whereas working with 8 bits would be so
much easier, wouldn't it ? Are writings in video RAM very long ?

--
              Franck
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux