STRUCT MIPS_EJTAG_FDC_TTY(9)
π struct mips_ejtag_fdc_tty(9) π
okay so bestie, welcome to the Kernel API Manual page for struct mips_ejtag_fdc_tty(9) β this one is giving main character energy for the FDC driver data situation. No cap, it's iconic. π¦
β¨ NAME β¨
struct mips_ejtag_fdc_tty β Driver data for FDC as a whole. That's literally the vibe: this struct is the driver data for the whole FDC. π
πΈ SYNOPSIS πΈ
struct mips_ejtag_fdc_tty {
struct device *dev;
struct tty_driver *driver;
unsigned int cpu;
char fdc_name[16];
char driver_name[16];
struct mips_ejtag_fdc_tty_port ports[NUM_TTY_CHANNELS];
wait_queue_head_t waitqueue;
raw_spinlock_t lock;
struct task_struct *thread;
void __iomem *reg;
u8 tx_fifo;
unsigned int xmit_size;
atomic_t xmit_total;
unsigned int xmit_next;
bool xmit_full;
int irq;
bool removing;
struct timer_list poll_timer;
#ifdef CONFIG_MAGIC_SYSRQ;
bool sysrq_pressed;
#endif;
};
π«Ά Members π«Ά
devβ FDC device (fordev_*()logging). This is the device handle for all your logging needs. πdriverβ TTY driver. Yep, the TTY driver. Iconic.cpuβ CPU number for this FDC. The CPU's number, specifically for this FDC. πfdc_nameβ FDC name (not for base of channel names). So it's the FDC's name, but bestie, it is not for the base of channel names. Periodt. π¦driver_nameβ Base of driver name. This is where the driver name starts from. πportsβ Per-channel data. One per channel, henceports[NUM_TTY_CHANNELS]. πwaitqueueβ Wait queue for waiting for TX data, or for space in TX FIFO. It's giving "please wait, bestie" energy. πlockβ Lock to protect FDCFG (interrupt enable). This lock is guarding FDCFG, a.k.a. interrupt enable. πthreadβ KThread for writing out data to FDC. The dedicated kthread that writes data out to the FDC. π§regβ FDC registers. The FDC registers live here. βtx_fifoβ TX FIFO size. Size of the TX FIFO, literally. πxmit_sizeβ Size of each port's xmit buffer. Every port's xmit buffer has this size. πxmit_totalβ Total number of bytes (from all ports) to transmit. All ports combined, this is the total bytes waiting to transmit. π₯xmit_nextβ Next port number to transmit from (round robin). Round-robin scheduling says this is the next port to transmit from. πΈxmit_fullβ Indicates TX FIFO is full, we're waiting for space. When the TX FIFO is full, this says we're waiting for space. πirqβ IRQ number (negative if no IRQ). It's the IRQ number, and if there's no IRQ it's negative. πremovingβ Indicates the device is being removed andpoll_timershould not be restarted. So if this is true, the device is being removed andpoll_timershould not be restarted. Important. π¨poll_timerβ Timer for polling for interrupt events whenirq < 0. Whenirq < 0, this timer polls for interrupt events. β°sysrq_pressedβ Whether the magic sysrq key combination has been detected. Seemips_ejtag_fdc_handle. UnderCONFIG_MAGIC_SYSRQ, this tells you if the magic sysrq key combo has been detected. Seemips_ejtag_fdc_handlefor the deets. π
π SEE ALSO π
Kernel file ./drivers/tty/mips_ejtag_fdc.c structmips_ejtag_fdc_tty_port(9)struct fdc_word(9)struct mips_ejtag_fdc_console(9)mips_ejtag_fdc_put_chan(9)mips_ejtag_fdc_put(9)mips_ejtag_fdc_handle(9)mips_ejtag_fdc_isr(9)mips_ejtag_fdc_tty_timer(9)
mwah π
β this page came from ./drivers/tty, dated October 2026, for struct mips_ejtag_fdc_tty(9). Bye bestie, go slay those FDC vibes π«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms