STRUCT MIPS_EJTAG_FDC_TTY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 (for dev_*() 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, hence ports[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 and poll_timer should not be restarted. So if this is true, the device is being removed and poll_timer should not be restarted. Important. 🚨
  • poll_timer β€” Timer for polling for interrupt events when irq < 0. When irq < 0, this timer polls for interrupt events. ⏰
  • sysrq_pressed β€” Whether the magic sysrq key combination has been detected. See mips_ejtag_fdc_handle. Under CONFIG_MAGIC_SYSRQ, this tells you if the magic sysrq key combo has been detected. See mips_ejtag_fdc_handle for the deets. πŸŽ€

🌈 SEE ALSO 🌈


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