GPS and Pixhawk. How does it work?

So short and simple. I have the HK clone and want to know how the GPS signal for Pixhawk work.

Do GPS modules get the lock and then pass this data on to the controller or does the Controller use its software to lock on to GPS signals using the GPS?

GPS module locks to satellites by itself and sends data to pixhawk. Pixhawk then listens those messages and uses them. To have best accuracy, ardupilot software is optimized for uBlox binary protocol.

OK great so the fact that my Ubocks is not getting sat lock is not the fault of the pixhawk?

I am using Apm 2.6 with U-blox Neo 6M for my quadcopter. After every flight whenever I review my ‘Data Flash Log’ , it shows an error GPS FAILED, also “Err. FAILSFAE_GPS-0” , “Err.FAILSAFE_GPS-0”.
Also the Gps HDOP value never goes below 2.

At times I get BROWNOUT problems. I have attached two logs of the latest flight for reference purpose. Is it the problem with the GPS or some other reason.
2016-05-21 08-19-19.bin (35.6 KB)
2016-05-21 08-12-25.bin (83.0 KB)

Can someone help me with this problem and also if there is any other issues that I be should taking care of, please suggest some solution for it. Its been more than a month and I am not able to find good possible solution for it.