Ingenuity uses a three-level control system for avionics[0] - the Linux part that runs on the Snapdragon 801 is at the top tier and does more the mission computer functions like navigation, computer-vision, telemetry, command processing and interfacing to the radio.
The middle tier is a dual-path redundant microcontroller system based on the TMS570 architecture. This is an automotive-grade part qualified for safety-critical usage. This an ARM Cortex R5 design, so not exactly a speed demon.
The bottom tier is a radiation tolerant, mil-spec FPGA (Microsemi ProASIC 3L) that actually runs the control loops at up to 500Hz, handles communication with the IMU, motor control interfaces etc; this part is actually supposed to be functionally identical to the space-qualified version.
The "Linux running on a smartphone processor" aspect gets a lot of play but the stack as a whole uses a lot more traditional high-integrity design approaches. Most of the heavy-lifting of "fly the rotorcraft" is done away from the Snapdragon, and I'm not sure where the idea that "rotorcraft need a lot of CPU power" comes from.
[0] https://rotorcraft.arc.nasa.gov/Publications/files/Balaram_A...