P-Channel MOSFET gate protection
Is my circuit is valid and safely usable? (I actually use it with no obvious effects (heating etc.) but I want to be sure)
  


Your circuit is a standard choice when it is needed a general purpose driver (no high speed, no low power consumption), so if you have properly sized the \$R_9\$ e \$R_{12}\$ resistor in order to dissipate without problem the right amount of power, it is a safe and usable circuit.


  
  For relatively fast (5KHz) switching speeds, what should I need to change? 
  
  
  I previously used 10K for R12 and it cannot charge the gate fast enough, leading slow turn off times. 1k is much better for regarding speed but I'm not sure R9 limits the current enough.
  
  


If you need to turn OFF and ON your p-channel MOSFET with a \$5\mathrm{kHz}\$ square waveform, in order to have a similarly shaped \$V_{OUT}\$, your driver circuit should be able to sink and source an appropriate gate current \$I_G\$: this is due to the fact that the switching time of a MOSFET are approximately
$$
t_{ON}\simeq t_{OFF} \simeq \frac{Q_{G}}{I_G}
$$
where \$Q_{G}\$ is the total gate charge of the MOSFET (from the FDS6679 datasheet, \$Q_{G_\max}\simeq 100\mathrm{nC}\$).

An example calculation based on your circuit.
Let's try to estimate the required \$I_G\$: since 
$$
t_\mathrm{TTL\_IN}=\frac{1}{f_\mathrm{TTL\_IN}}=\frac{1}{5\mathrm{kHz}}=200\mathrm{\mu s},
$$
assuming \$t_{ON}\simeq t_{OFF} \simeq 1\% t_\mathrm{TTL\_IN}\$, we have
$$
\begin{split}
0.01t_\mathrm{TTL\_IN}=\frac{Q_{G}}{I_G} &amp;\iff &amp; I_{G_\min} &amp;=\frac{Q_{G_\max}}{0.01t_\mathrm{TTL\_IN}}\\
&amp; &amp; &amp; =\frac{100\mathrm{nC}}{2.0\mathrm{\mu s}}=50\mathrm{mA}
\end{split}
$$
Thus the drive circuit is should be able to sink/source at least \$50\mathrm{mA}\$ for all the duration of the switching phase, whatever the value of  \$V_\mathrm{IN}\$ is. When the MOSFET is switched ON, the gate current flows through \$R_9\$ and the minimum charging current (at least at \$t=0_+\$) is
$$
I_9 =\frac{V_\mathrm{IN_\min}}{R_9}=\frac{8V}{150\Omega}\simeq 53.3\mathrm{mA}
$$
and this would be almost enough to turn it ON at the desired speed. However, we face more serious problems when we want to switch OFF the MOSFET: now the gate current flows through \$R_{12}\$ and the gate-source capacitance of the MOSFET is discharged through it. The discharging current (at least at \$t=0_+\$) now is 
$$
I_{12} =\frac{V_\mathrm{IN_\min}}{R_{12}}\simeq\frac{8V}{1000\Omega}\simeq 8\mathrm{mA}
$$
and this is not sufficient to turn the MOSFET OFF at the desired speed.

How to proceed in order to produce an acceptable square wave output?


The first, intuitive solution to the problem would be lower the value of \$R_{12}\$, for example putting \$R_9\simeq R_{12}\$. However this is not a good idea since this would rise the static (i.e. the ON state) power consumption of the circuit, and this can be not acceptable.
We may consider another point of view: the assumption \$t_{ON}\simeq t_{OFF} \simeq 1\% t_\mathrm{TTL\_IN}\$ is perhaps too restrictive and we may consider assuming \$t_{ON}\simeq t_{OFF} \simeq 10\% t_\mathrm{TTL\_IN}\$. This would cut down the required gate current to one tenth of the one calculated before, and the circuit would work "as is". However, the output waveform will be more a trapezoidal than square wave.
A last, perhaps optimal from the point of view of the power consumption and switching speed but more expensive, solution would be using an active pull-up circuit, as described in this answer