Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
ca0ef7fe
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
ca0ef7fe
编写于
2月 15, 2017
作者:
B
Bjorn Helgaas
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'pci/aer' into next
* pci/aer: PCI/AER: Remove unused .link_reset() callback
上级
7ce7d89f
2fd260f0
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
3 addition
and
50 deletion
+3
-50
Documentation/PCI/pci-error-recovery.txt
Documentation/PCI/pci-error-recovery.txt
+3
-21
drivers/infiniband/hw/hfi1/pcie.c
drivers/infiniband/hw/hfi1/pcie.c
+0
-10
drivers/infiniband/hw/qib/qib_pcie.c
drivers/infiniband/hw/qib/qib_pcie.c
+0
-8
drivers/media/pci/ngene/ngene-cards.c
drivers/media/pci/ngene/ngene-cards.c
+0
-7
drivers/misc/genwqe/card_base.c
drivers/misc/genwqe/card_base.c
+0
-1
include/linux/pci.h
include/linux/pci.h
+0
-3
未找到文件。
Documentation/PCI/pci-error-recovery.txt
浏览文件 @
ca0ef7fe
...
@@ -78,7 +78,6 @@ struct pci_error_handlers
...
@@ -78,7 +78,6 @@ struct pci_error_handlers
{
{
int (*error_detected)(struct pci_dev *dev, enum pci_channel_state);
int (*error_detected)(struct pci_dev *dev, enum pci_channel_state);
int (*mmio_enabled)(struct pci_dev *dev);
int (*mmio_enabled)(struct pci_dev *dev);
int (*link_reset)(struct pci_dev *dev);
int (*slot_reset)(struct pci_dev *dev);
int (*slot_reset)(struct pci_dev *dev);
void (*resume)(struct pci_dev *dev);
void (*resume)(struct pci_dev *dev);
};
};
...
@@ -104,8 +103,7 @@ if it implements any, it must implement error_detected(). If a callback
...
@@ -104,8 +103,7 @@ if it implements any, it must implement error_detected(). If a callback
is not implemented, the corresponding feature is considered unsupported.
is not implemented, the corresponding feature is considered unsupported.
For example, if mmio_enabled() and resume() aren't there, then it
For example, if mmio_enabled() and resume() aren't there, then it
is assumed that the driver is not doing any direct recovery and requires
is assumed that the driver is not doing any direct recovery and requires
a slot reset. If link_reset() is not implemented, the card is assumed to
a slot reset. Typically a driver will want to know about
not care about link resets. Typically a driver will want to know about
a slot_reset().
a slot_reset().
The actual steps taken by a platform to recover from a PCI error
The actual steps taken by a platform to recover from a PCI error
...
@@ -232,25 +230,9 @@ proceeds to STEP 4 (Slot Reset)
...
@@ -232,25 +230,9 @@ proceeds to STEP 4 (Slot Reset)
STEP 3: Link Reset
STEP 3: Link Reset
------------------
------------------
The platform resets the link, and then calls the link_reset() callback
The platform resets the link. This is a PCI-Express specific step
on all affected device drivers. This is a PCI-Express specific state
and is done whenever a non-fatal error has been detected that can be
and is done whenever a non-fatal error has been detected that can be
"solved" by resetting the link. This call informs the driver of the
"solved" by resetting the link.
reset and the driver should check to see if the device appears to be
in working condition.
The driver is not supposed to restart normal driver I/O operations
at this point. It should limit itself to "probing" the device to
check its recoverability status. If all is right, then the platform
will call resume() once all drivers have ack'd link_reset().
Result codes:
(identical to STEP 3 (MMIO Enabled)
The platform then proceeds to either STEP 4 (Slot Reset) or STEP 5
(Resume Operations).
>>> The current powerpc implementation does not implement this callback.
STEP 4: Slot Reset
STEP 4: Slot Reset
------------------
------------------
...
...
drivers/infiniband/hw/hfi1/pcie.c
浏览文件 @
ca0ef7fe
...
@@ -598,15 +598,6 @@ pci_slot_reset(struct pci_dev *pdev)
...
@@ -598,15 +598,6 @@ pci_slot_reset(struct pci_dev *pdev)
return
PCI_ERS_RESULT_CAN_RECOVER
;
return
PCI_ERS_RESULT_CAN_RECOVER
;
}
}
static
pci_ers_result_t
pci_link_reset
(
struct
pci_dev
*
pdev
)
{
struct
hfi1_devdata
*
dd
=
pci_get_drvdata
(
pdev
);
dd_dev_info
(
dd
,
"HFI1 link_reset function called, ignored
\n
"
);
return
PCI_ERS_RESULT_CAN_RECOVER
;
}
static
void
static
void
pci_resume
(
struct
pci_dev
*
pdev
)
pci_resume
(
struct
pci_dev
*
pdev
)
{
{
...
@@ -625,7 +616,6 @@ pci_resume(struct pci_dev *pdev)
...
@@ -625,7 +616,6 @@ pci_resume(struct pci_dev *pdev)
const
struct
pci_error_handlers
hfi1_pci_err_handler
=
{
const
struct
pci_error_handlers
hfi1_pci_err_handler
=
{
.
error_detected
=
pci_error_detected
,
.
error_detected
=
pci_error_detected
,
.
mmio_enabled
=
pci_mmio_enabled
,
.
mmio_enabled
=
pci_mmio_enabled
,
.
link_reset
=
pci_link_reset
,
.
slot_reset
=
pci_slot_reset
,
.
slot_reset
=
pci_slot_reset
,
.
resume
=
pci_resume
,
.
resume
=
pci_resume
,
};
};
...
...
drivers/infiniband/hw/qib/qib_pcie.c
浏览文件 @
ca0ef7fe
...
@@ -682,13 +682,6 @@ qib_pci_slot_reset(struct pci_dev *pdev)
...
@@ -682,13 +682,6 @@ qib_pci_slot_reset(struct pci_dev *pdev)
return
PCI_ERS_RESULT_CAN_RECOVER
;
return
PCI_ERS_RESULT_CAN_RECOVER
;
}
}
static
pci_ers_result_t
qib_pci_link_reset
(
struct
pci_dev
*
pdev
)
{
qib_devinfo
(
pdev
,
"QIB link_reset function called, ignored
\n
"
);
return
PCI_ERS_RESULT_CAN_RECOVER
;
}
static
void
static
void
qib_pci_resume
(
struct
pci_dev
*
pdev
)
qib_pci_resume
(
struct
pci_dev
*
pdev
)
{
{
...
@@ -707,7 +700,6 @@ qib_pci_resume(struct pci_dev *pdev)
...
@@ -707,7 +700,6 @@ qib_pci_resume(struct pci_dev *pdev)
const
struct
pci_error_handlers
qib_pci_err_handler
=
{
const
struct
pci_error_handlers
qib_pci_err_handler
=
{
.
error_detected
=
qib_pci_error_detected
,
.
error_detected
=
qib_pci_error_detected
,
.
mmio_enabled
=
qib_pci_mmio_enabled
,
.
mmio_enabled
=
qib_pci_mmio_enabled
,
.
link_reset
=
qib_pci_link_reset
,
.
slot_reset
=
qib_pci_slot_reset
,
.
slot_reset
=
qib_pci_slot_reset
,
.
resume
=
qib_pci_resume
,
.
resume
=
qib_pci_resume
,
};
};
drivers/media/pci/ngene/ngene-cards.c
浏览文件 @
ca0ef7fe
...
@@ -781,12 +781,6 @@ static pci_ers_result_t ngene_error_detected(struct pci_dev *dev,
...
@@ -781,12 +781,6 @@ static pci_ers_result_t ngene_error_detected(struct pci_dev *dev,
return
PCI_ERS_RESULT_CAN_RECOVER
;
return
PCI_ERS_RESULT_CAN_RECOVER
;
}
}
static
pci_ers_result_t
ngene_link_reset
(
struct
pci_dev
*
dev
)
{
printk
(
KERN_INFO
DEVICE_NAME
": link reset
\n
"
);
return
0
;
}
static
pci_ers_result_t
ngene_slot_reset
(
struct
pci_dev
*
dev
)
static
pci_ers_result_t
ngene_slot_reset
(
struct
pci_dev
*
dev
)
{
{
printk
(
KERN_INFO
DEVICE_NAME
": slot reset
\n
"
);
printk
(
KERN_INFO
DEVICE_NAME
": slot reset
\n
"
);
...
@@ -800,7 +794,6 @@ static void ngene_resume(struct pci_dev *dev)
...
@@ -800,7 +794,6 @@ static void ngene_resume(struct pci_dev *dev)
static
const
struct
pci_error_handlers
ngene_errors
=
{
static
const
struct
pci_error_handlers
ngene_errors
=
{
.
error_detected
=
ngene_error_detected
,
.
error_detected
=
ngene_error_detected
,
.
link_reset
=
ngene_link_reset
,
.
slot_reset
=
ngene_slot_reset
,
.
slot_reset
=
ngene_slot_reset
,
.
resume
=
ngene_resume
,
.
resume
=
ngene_resume
,
};
};
...
...
drivers/misc/genwqe/card_base.c
浏览文件 @
ca0ef7fe
...
@@ -1336,7 +1336,6 @@ static int genwqe_sriov_configure(struct pci_dev *dev, int numvfs)
...
@@ -1336,7 +1336,6 @@ static int genwqe_sriov_configure(struct pci_dev *dev, int numvfs)
static
struct
pci_error_handlers
genwqe_err_handler
=
{
static
struct
pci_error_handlers
genwqe_err_handler
=
{
.
error_detected
=
genwqe_err_error_detected
,
.
error_detected
=
genwqe_err_error_detected
,
.
mmio_enabled
=
genwqe_err_result_none
,
.
mmio_enabled
=
genwqe_err_result_none
,
.
link_reset
=
genwqe_err_result_none
,
.
slot_reset
=
genwqe_err_slot_reset
,
.
slot_reset
=
genwqe_err_slot_reset
,
.
resume
=
genwqe_err_resume
,
.
resume
=
genwqe_err_resume
,
};
};
...
...
include/linux/pci.h
浏览文件 @
ca0ef7fe
...
@@ -678,9 +678,6 @@ struct pci_error_handlers {
...
@@ -678,9 +678,6 @@ struct pci_error_handlers {
/* MMIO has been re-enabled, but not DMA */
/* MMIO has been re-enabled, but not DMA */
pci_ers_result_t
(
*
mmio_enabled
)(
struct
pci_dev
*
dev
);
pci_ers_result_t
(
*
mmio_enabled
)(
struct
pci_dev
*
dev
);
/* PCI Express link has been reset */
pci_ers_result_t
(
*
link_reset
)(
struct
pci_dev
*
dev
);
/* PCI slot has been reset */
/* PCI slot has been reset */
pci_ers_result_t
(
*
slot_reset
)(
struct
pci_dev
*
dev
);
pci_ers_result_t
(
*
slot_reset
)(
struct
pci_dev
*
dev
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录