当前位置: 首页 > news >正文

教我做网站wordpress修改注册人数

教我做网站,wordpress修改注册人数,2020广东黄页,专业做淘宝网站绍兴Linux Mii management/mdio子系统分析之一 总体概述 (转载)原文链接:https://blog.csdn.net/u014044624/article/details/123303099 从本章开始,我们介绍linux的mii management对应的mdio子模块,该模块主要用于管理phy…

Linux Mii management/mdio子系统分析之一 总体概述


(转载)原文链接:https://blog.csdn.net/u014044624/article/details/123303099

 

从本章开始,我们介绍linux的mii management对应的mdio子模块,该模块主要用于管理phy设备,实现phy device创建与phy driver的注册等功能。本系统主要涉及如下按如下几个篇章进行分析:

一、总线概述(介绍mdio驱动模型的简要逻辑模型)

二、mdio总线-设备-驱动模型分析

三、虚拟mii_bus模型分析(即fixed-mii_bus,主要的应用场景为2个cpu间网口通过rgmii/sgmii等直接相连,无需phy时,如何让net-device绑定一个逻辑phy-device)

 

设备间的逻辑关联图及抽象

如下图为cpu与mac、phy之间的逻辑关联图,针对mac与phy之间的连接,包括两部分:

  1. 通过mii/rgmii/sgmii/…与phy连接,进行数据的通信;
  2. 通过mdc/mdio与phy连接,实现对phy设备的控制命令的下发等功能

本次我们主要介绍mac与phy之间控制接口间的设备驱动模型(即mac通过mii management

控制phy设备的驱动模型),而针对netdevice子系统模块,此次暂不介绍,留待后续介绍。

 

      MII Management interface用于MAC层芯片控制和配置phy设备,而ieee 802.3中规定了phy device寄存器的额地址空间为5位,最多可定义32各寄存器,而ieee 802.3定义了地址为0-15这16个寄存器的功能,主要包括control、status、phy identifer、auto-neg相关等,而16-31由厂家自行定义。

 

结合我们之前介绍的i2c、spi、mmc子系统,我们可以针对上面的设备逻辑图进行如下的设备驱动模型的抽象:

  1. 针对mii management而言,应该抽象控制器对应的类型;
  2. 针对该控制器,需要提供访问phy的方法,包括读写方法
  3. 针对phy 设备,应该抽象出对应的设备类型;
  4. 针对phy设备的驱动,应该抽象出对应的phy设备驱动类型;
  5. 针对mdc/mdio,应该抽象出对应的总线类型。

 

而在linux的mdio子系统中,和上述我们的猜想类似,该子系统抽象的内容如下:

  1. 针对mii management,抽象为struct mii_bus;
  2. 针对phy设备,抽象为struct phy_device;
  3. 针对phy设备的驱动,抽象为struct phy_driver ;
  4. 为mdc/mdio定义了名为“mdio_bus”的总线类型。

 

 

 

MDIO设备驱动模型介绍

    在mdio子模块中,针对mii_bus、phy_device、phy_driver、mdio_bus而建立了对应的驱动模型,下面我们分析下该子系统的驱动模型。借助于设备-总线-驱动模型,实现将这几个数据结构关联起来,这些数据结构之间的关联说明如下:

  1. 借助于设备-总线-驱动模型,通过device_register、driver_register接口,即实现了phy_device、phy_driver注册至mdio bus行,并完成它们之间device与device_driver的关联;
  2. phy_device通过其drv指针,实现与phy_driver的关联与绑定(其实借助设备-总线-驱动模型的device、device_driver数据结构,也可以获取该phy_device对应的phy_driver,个人认为phy_device中的drv指针有点多余);
  3. mii_bus借助其成员phy_map,将所有连接至该mii management的phy device关联起来。

 

 

 

此处mdio 驱动模型的数据结构的抽象,该驱动模型与spi驱动模型、i2c驱动模型类似,但也有些区别:

  1. mii_bus总定义了phy_map,将所有连接至该mii management的phy device关联一起,而在spi模型中,是spi_device中定义指针指向所依附的spi_master(spi master和mii_bus的操作刚好相反);
  2. spi模型中定义了一个全局链表,将所有注册的spi master链接在一起,而mdio模型中并没有为mii_bus创建相应的全局链表;
  3. spi模型与mdio模型,均没有将spi master/mii_bus注册至spi_bus/mdio_bus中,这是与i2c模型的区别(i2c adapter是注册至i2c bus的)。
  4. mii_bus提供了read、write方法,用于和具体的phy device进行通信(主要是控制命令的交互)

 

    其实mdio子模块也是比较简单的,只涉及到寄存器的读写操作(借助mii_bus提供的方法),理解起来 也相对简单点。

本篇主要是简要介绍mdio驱动模型,让大家有一个感性印象,下一篇文章我们主要介绍mdio总线-设备-驱动模型。

http://www.yayakq.cn/news/333238/

相关文章:

  • 网站建设与管理培训活动总结企业qq官网电话
  • 业务网站制作个人免费开发网站
  • 企业商务网站有哪些策划案需要给做网站吗
  • 网站帮助潍坊网站建设求职简历
  • 网站做跳转影响排名吗南京专业网站制作
  • 公司网站开发怎么做如何推广品牌知名度
  • 怎么样在网站做产品推广wordpress运行php
  • 建自己的网站做外贸中国机械加工网网址
  • 福建省网站建设公司网站建设服务器是什么
  • 网站建设费用详细表android开发需要学什么
  • 丹阳网站建设如何广州制作外贸网站公司
  • wordpress两个网站同步网页无法访问是什么原因
  • 宁波网站建设公司费用价格做网站好的品牌
  • 比价网站 源码花都有做网站
  • 怎样申请一个网站logo模板下载网站推荐
  • 微商手机网站模板用rp怎么做网站功能按钮
  • 建立官方网站多少钱最新军事报道
  • wordpress上的博客合肥网站优化seo
  • 购买已备案网站做非法qq是哪个公司开发的
  • 做最最优秀的视频网站有哪些潍坊网站建设 58
  • 万网网站建设选哪个好网络公司 营销型网站
  • 行业协会网站建设的目的公司网站制作流程
  • 企业网站建设网站专业服务上海建设网站哪家好
  • php自助建站程序wordpress 广告关闭
  • 域名换了网站需要备案么网页制作工具哪个好
  • 网站开发教程pdf温州论坛
  • dw软件做网站电商网站建设济南建网站
  • 网站 数据库 sql 导入html静态网页作业
  • 怎么建立网站?手机网站设计公司立找亿企邦
  • 只知道网站后台怎么做301wordpress 文章章节开发