NCR5380_select(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NCR5380_select(9) β€” a Kernel API Manual moment ✨

okay so bestie, welcome to the Kernel API Manual page for NCR5380_select πŸŽ€ this is the group chat where we explain how to get a SCSI command its very own nexus. stay with me, it's giving iconic πŸ’–


✨ NAME ✨

NCR5380_select β€” attempt arbitration and selection for a given command πŸ¦‹


🌸 SYNOPSIS 🌸

bool NCR5380_select (struct Scsi_Host *instance , struct scsi_cmnd *cmd
);

🫢 ARGUMENTS 🫢

  • instance β€” the Scsi_Host instance, aka the host that's doing all this πŸ’œ
  • cmd β€” the scsi_cmnd to execute, the little errand we're running πŸƒβ€β™€οΈ

πŸ”₯ DESCRIPTION πŸ”₯

so this routine establishes an I_T_L nexus for a SCSI command β€” that's the whole main character energy of the function. and to do that it goes through ARBITRATION, SELECTION and MESSAGE OUT phases, plus an IDENTIFY message. it's a whole production, no cap πŸ’…

as for what it gives back:

  • returns true if the operation should be retried (try again bestie πŸ™ˆ)
  • returns false if it should not be retried (not this time πŸ’€)

Side effects, because yes there are always side effects:

  • if the bus is busy, or arbitration failed, or whatever other drama happened, NCR5380_select will exit with the registers exactly as they should have been on entry β€” ie. SELECT_ENABLE will be set appropriately, and the NCR5380 will cease to drive any SCSI bus signals ⭐
  • if it's successful: the I_T_L nexus gets established, and hostdata->connected will be set to cmd. the SELECT interrupt will be disabled πŸŽ€
  • if it fails (no target): scsi_done will be called, and the cmd->result host byte set to DID_BAD_TARGET 😭
fr fr, keep that nexus-or-nothing energy in mind β€” the success and failure exits do very different things, and the "no target" path is the one doing the scsi_done call and setting DID_BAD_TARGET. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/scsi/NCR5380.c and its entire friend group, all invited to the group chat:


that's the whole page bestie, ily, go establish some nexuses πŸ§šπŸ’– this one came straight out of ./drivers/scsi and it's dated October 2026 β€” slay, see you next manpage ✨🌈

πŸ“¦ where this page comes from