mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
gpu: nova-core: gsp: add RECEIVE_TIMEOUT constant for command queue
Remove magic numbers and add a default timeout for callers to use. Tested-by: Zhi Wang <zhiw@nvidia.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by: Eliot Courtney <ecourtney@nvidia.com> Link: https://patch.msgid.link/20260318-cmdq-locking-v5-2-18b37e3f9069@nvidia.com Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
This commit is contained in:
parent
0a5dbeadf1
commit
67d9ef2bdd
|
|
@ -467,6 +467,9 @@ impl Cmdq {
|
|||
/// Timeout for waiting for space on the command queue.
|
||||
const ALLOCATE_TIMEOUT: Delta = Delta::from_secs(1);
|
||||
|
||||
/// Default timeout for receiving a message from the GSP.
|
||||
pub(super) const RECEIVE_TIMEOUT: Delta = Delta::from_secs(5);
|
||||
|
||||
/// Creates a new command queue for `dev`.
|
||||
pub(crate) fn new(dev: &device::Device<device::Bound>) -> Result<Cmdq> {
|
||||
let gsp_mem = DmaGspMem::new(dev)?;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
device,
|
||||
pci,
|
||||
prelude::*,
|
||||
time::Delta,
|
||||
transmute::{
|
||||
AsBytes,
|
||||
FromBytes, //
|
||||
|
|
@ -165,7 +164,7 @@ fn read(
|
|||
/// Waits for GSP initialization to complete.
|
||||
pub(crate) fn wait_gsp_init_done(cmdq: &mut Cmdq) -> Result {
|
||||
loop {
|
||||
match cmdq.receive_msg::<GspInitDone>(Delta::from_secs(10)) {
|
||||
match cmdq.receive_msg::<GspInitDone>(Cmdq::RECEIVE_TIMEOUT) {
|
||||
Ok(_) => break Ok(()),
|
||||
Err(ERANGE) => continue,
|
||||
Err(e) => break Err(e),
|
||||
|
|
@ -235,7 +234,7 @@ pub(crate) fn get_gsp_info(cmdq: &mut Cmdq, bar: &Bar0) -> Result<GetGspStaticIn
|
|||
cmdq.send_command(bar, GetGspStaticInfo)?;
|
||||
|
||||
loop {
|
||||
match cmdq.receive_msg::<GetGspStaticInfoReply>(Delta::from_secs(5)) {
|
||||
match cmdq.receive_msg::<GetGspStaticInfoReply>(Cmdq::RECEIVE_TIMEOUT) {
|
||||
Ok(info) => return Ok(info),
|
||||
Err(ERANGE) => continue,
|
||||
Err(e) => return Err(e),
|
||||
|
|
|
|||
|
|
@ -358,7 +358,7 @@ pub(crate) struct GspSequencerParams<'a> {
|
|||
impl<'a> GspSequencer<'a> {
|
||||
pub(crate) fn run(cmdq: &mut Cmdq, params: GspSequencerParams<'a>) -> Result {
|
||||
let seq_info = loop {
|
||||
match cmdq.receive_msg::<GspSequence>(Delta::from_secs(10)) {
|
||||
match cmdq.receive_msg::<GspSequence>(Cmdq::RECEIVE_TIMEOUT) {
|
||||
Ok(seq_info) => break seq_info,
|
||||
Err(ERANGE) => continue,
|
||||
Err(e) => return Err(e),
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user