LIBSAS/SAS驱动代码分析(1)之概述

        之前介绍了BLOCK层和SCSI层代码,后面准备将LIBSAS/SAS驱动代码作简单介绍。

        再次搬出存储框架图,LIBSAS代码在SCSI层代码以下,像HISI_SAS驱动和MVSAS驱动采用 LIBSAS框架:

        在SCSI框架下可以直接定义SCSI驱动来适配硬件,但对于SAS驱动,可以直接定义SCSI驱动,由于在SCSI层下存在LIBSAS层,因此也可以在LIBSAS层下定义SAS驱动。目前像mvsas/pm8001/hisi_sas驱动定义在LIBSAS层。可以认为LIBSAS + hisi_sas驱动共同组成SCSI驱动。

LIBSAS层驱动作用如下:

  1. 对接SCSI层,提供SAS驱动的相关接口;
  2. LIBSAS层IO的下发和完成;
  3. 设备拓扑的识别;
  4. 提供SYSFS接口供用户使用;

HISI_SAS驱动作用如下:

  1. 以PCIE驱动或platform驱动加载,初始化硬件;
  2. IO的下发和完成,将上层下发的数据填到硬件对应的位置,同时将硬件返回的信息经解析后反馈给上层;
  3. 根据硬件发送的中断(PHY UP/PHY DOWN/BCAST中断)触发LIBSAS层设备拓扑的识别;

 后面将LIBSAS代码和HISI_SAS驱动代码统一讲解,毕竟两者功能密不可分。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值