DMA triggered by Timer using STM32F4-Discovery board
The big reason the DMA isn't transferring is that it isn't actually connected to the peripheral. 

In most Cortex implementations I've seen, there are multiple memory buses. The ST implementation isn't any different. You can see how GPIO C is attached to the chip's memory system in the table below (found in the Memory map section of the reference manual).



The reason that is important is because DMA controllers are usually imeplemented with specific use cases in mind. In this case, DMA1 is implemented with memory-to-memory transfers in mind. You can tell because of the bus-matrix tap points (See graphic below, from System Architecture section of Reference manual).



The missing taps at AHB1 and AHB2 mean that, no matter how you program DMA1, it can't actually access GPIO data, the physical connections aren't present. DMA1 can, however, use signals from the peripherals to trigger transfers. Which just makes the issue confusing.

Switch to DMA2. 

It looks like you had the right idea with mapping a request to a stream, so you will see that, when you switch to DMA2, you'll need to pick a new timer and trigger event. 

Hope this helps.