Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > 其他操作系统 > Solaris USB callback的处理方法
【标  题】:Solaris USB callback的处理方法
【关键字】:Solaris,USB,callback
【来  源】:http://www.cublog.cn/u/24393/showart.php?id=197119

Solaris USB callback的处理方法

Your Ad Here [quick note]

usba_init_pipe_handle()中为这个新的pipe创建一个taskq。
usba_async_ph_req()会把一个task dispatch到这个taskq上。usba_async_ph_req()被usba_hcdi_cb()调用,而usba_hcdi_cb()是usba内部一个公共函数,每个host controller driver的callback都会调用到这个函数。

举例来说,ehci中ehci_hcdi_callback调用了这个函数。对于从底层得到的数据,简单的流程是这样的:
ehci_intr()(ehci ISR)-->ehci_traverse_active_qtd_list()-->ehci_handle_normal_qtd()--> tw_handle_qtd-->ehci_handle_bulk_qtd()(e.g.)-->ehci_hcdi_callback() -->usba_hcdi_cb() -->usba_async_ph_req() 在这个函数中,需要处理的数据被放到了这个pipe的taskq上。task的处理函数hcdi_do_cb()会调用每个request的callback,从而完成一次数据传输。

从上层来的request:
usb_pipe_ctrl_xfer()--> ehci_hcdi_pipe_ctrl_xfer() -->ehci_insert_ctrl_req() -->ehci_insert_qtd() --> ehci_insert_qtd_into_active_qtd_list()
solaris下安装openssh:【上一篇】
确定硬盘:【下一篇】
【相关文章】
  • solaris下安装openssh
  • x86 平台上的 Linux到 SPARC 平台上的 Solaris的说明
  • Solaris启动过程详解(zz)
  • solaris 网络配置 zz
  • Oracle Database 10g Release 2 (10.2.0.2) for Solaris Operating System (x86) for Solaris 10 x86安装
  • solaris下weblogic创建weblogic域方法
  • Spring对JDBC封装时使用的一种CallBack来参数化一个操作的模式
  • Net 2.0 CallBack 流程
  • Solaris10 X86_Zone_Config_笔记(20060913)
  • Solaris ifconfig 之 addif and plumb
  • 【随机文章】
  • 用Maya制作逼真的树叶(4)
  • 利用动态存储管理函数malloc在运行时输入字符串进行快速排序的两个不同实现方法
  • 关于多结果集的存储过程的处理
  • 谨慎!Windows美化工具
  • JavaScript实用的一些技巧
  • 利用嗅探器之TcpDump分析网络安全
  • C#命令行(CSC.EXE) 编译器选项(Framework 1.1)
  • windows 下的信号机制初探
  • 面向对象的分析和设计-抽象出对象
  • debian上使用rc.local
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.