If a variable is declared volatile whether as a parameter to a function or otherwise, you are telling the compiler it might change at any moment. This has the effect of not allowing some optimisations to be done on that variable, mainly ones that read the variable once and use it twice are not allowed as we can't guarantee it hasn't somehow changed value in between.
So the compiler will produce a function that is very strict about how it uses any volatile parameters, but this has no effect on what parameters it can take. The generated instructions don't need to know if the input is externally declared volatile, it will treat them that way. Your non-volatile input will just be treated unnecessarily carefully.
The danger comes the other way around, passing a volatile variable as a non-volatile parameter! The function won't magically change instructions for your volatile variable which could lead to bugs.