Key Responsibilities:
- Architect PCIe driver/features for our AINIC and DPU product line
- Optimize PCIe driver performance, including power management and low-latency data transfers
- Work with kernel-level programming in Linux including experience with sysfs, procfs, and PCIe Subsystem
- Debug and troubleshoot PCIe bus communication, DMA, interrupts, and memory mapping issues
- Provide support for hot-plug and interrupt mechanisms
- Collaborate with hardware team to understand PCIe components like serdes and bringup in software
- Represent AMD in industry forums presenting and standardising our architecture across different standard bodies for PCIe/CXL/XGMI
- Work closely with customers understanding their requirements and providing direction to our product roadmap with features in PCIe domain
- Innovate and mentor talent with in the team to build expertise in the area of PCIe implementing solutions with latency and bandwidth optimisations
Required Skills & Experience:
- 15 years of experience in managing PCIe devices, Linux kernel programming, device driver development, and system software engineering.
- Proficiency in C programming for system-level software.
- Good understanding of PCIe enumeration, link training, device initialization sequence, configuration space handling, SR-IOV, bare-metal and hypervisor VM architectures
- Strong debugging and troubleshooting skills using kernel logs, GDB and other debugging tools.
- Experience in hardware bringup, bootloaders, and ARM architecture.
- Familiarity with Buildroot, or other embedded Linux systems.
- Knowledge of memory management, interrupts, and scheduling in Linux.