当前位置:  技术问答>linux和unix

关于帧缓冲设备驱动中注册中断的疑问

    来源: 互联网  发布时间:2016-12-25

    本文导语:  本帖最后由 jerrylim 于 2011-08-16 20:37:54 编辑 在帧缓冲设备驱动代码,即s3c2410fb.c中对模块加载后就调用了probe函数,然后再该函数完成一系列的初始化,其中有一处是调用request_irq(irq, s3c2410fb_irq, IRQF_DISABLED, pdev->name, ...

本帖最后由 jerrylim 于 2011-08-16 20:37:54 编辑
在帧缓冲设备驱动代码,即s3c2410fb.c中对模块加载后就调用了probe函数,然后再该函数完成一系列的初始化,其中有一处是调用request_irq(irq, s3c2410fb_irq, IRQF_DISABLED, pdev->name, info);来注册中断,请问在帧缓冲设备驱动中。注册这样一个中断有什么作用?该中断是不是每从framebuffer中读取一帧图片就会发生一次。谢谢。
 
小弟还有一疑问,就是在LCD的裸机程序中,初始化阶段必须要对LCDCON1~LCDCON5 以及LCDSADDR1~LCDSADDR3写入数据才能完成初始化,但是在
帧缓冲设备驱动中并没有对这些寄存器进行操作,只是将在裸机程序中应该填入
LCDCON1~LCDCON5 以及LCDSADDR1~LCDSADDR3寄存器的值填入var和fix结构,请问这样是不是就算是完成了对这些寄存器的操作。

|
没时间帮你分析代码,中断是由硬件产生,可能是用图形数据进行硬件加速?或者其它的与frame buffer相关的设备,例如LCD控制器?

|
某些时候有用。看code:
static irqreturn_t s3c2410fb_irq(int irq, void *dev_id)
{
struct s3c2410fb_info *fbi = dev_id;
void __iomem *irq_base = fbi->irq_base;
unsigned long lcdirq = readl(irq_base + S3C24XX_LCDINTPND);

if (lcdirq & S3C2410_LCDINT_FRSYNC) {
if (fbi->palette_ready)
s3c2410fb_write_palette(fbi);

writel(S3C2410_LCDINT_FRSYNC, irq_base + S3C24XX_LCDINTPND);
writel(S3C2410_LCDINT_FRSYNC, irq_base + S3C24XX_LCDSRCPND);
}

return IRQ_HANDLED;
}
    如果有颜色表的时候,就会利用中断的时候填充颜色表。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 flush():清空缓冲区
  • linux内核缓冲区与进程缓冲区。
  • unix V的缓冲池。如果把所有缓冲区,都按LRU连接到空闲链表中。
  • read/write已经有了缓冲实现,为什么fread/fwrite还要实现缓冲?
  • LINUX下的缓冲区溢出和WINDOWS下的缓冲区溢出都有什么区别?
  • 为什么IO函数要把内容从内核缓冲区拷贝到用户缓冲区? 有点浪费
  • 关于TCP/IP发送缓冲区和接受缓冲区的问题
  • linux下需要设置网络发送和接受缓冲区大小时,需如何设置,是否系统有最大缓冲区限制?谢谢
  • 谁能解析一下输入缓冲机制
  • 内存与缓冲区
  • arm串口缓冲和c编程请教
  • UDP协议在实现时有没有在发送端或者接收端设置缓冲区?
  • 缓冲输入输出
  • 如何确定数据已经从内核缓冲区写入磁盘了?
  • 标准IO库的缓冲区问题
  • 怎样手动清除磁盘高速缓冲?
  • “flush()清除缓冲区强迫输出”是什么意思?
  • 有关实现双缓冲的问题....参与有分
  • 紧急求救::::::: 一个写,多个读的缓冲区设计的问题?????????????
  • 关于printf的缓冲区的问题
  • 关于Linux系统键盘缓冲的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3