There's piles of examples and documentation for using SPI in master mode. However for slave mode it's a bit more tricky.
Reading is straightforward enough but are there best practices / tutorials for writing in slave mode? I found some discussions here but that's about it. e.g. https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/167107
It's a synchronous bus but the µcu cannot guarantee any exact response time so you cannot do what you do with simple devices. Most of the time these have a defined command -> address -> n delay bytes -> response cycle within one frame. At least the single frame approach wouldn't work for MSP430 as it'd be difficult to synchronize the write exactly to the master unless I'm missing something.
To put things into perspective, 8MHz SPI bus has clock cycle of 125ns, MSP430FR5969 is running at 16MHz so 62.5ns clock cycle. However wake-up from LPM4 takes between 7-10µs i.e. 7-10 bytes transmitted on SPI bus at that time.
I should set up DMA to snag the received bytes, wake up processor meanwhile, process the command and start pushing relevant data to transmit buffer with DMA and/or send single byte as appropriate. Master goes to have a coffee and a cigar during that time. Some 20µs delay between command transmit and dummy bytes to read data perhaps?
I found one mention that LPM3 (and 4 obviously) will put DMA clock to sleep so you're going to miss the 1st byte. According to the handbook MSP430FR5969 should keep clock available if needed by peripheral but since DMA is only awake after triggered.. Override the relevant clock disable bit?