If pixelation is apparent at View > Actual Pixels the image has possibly been up-sampled already.
To verify you can create a 1px x 1px Selection and see if the ostensive image-pixels are larger.
You can try if after up-scaling sharpening (Unsharp Mask for example), Median (for the edges of clearly defined areas that show »stairs«) and Add Noise can camouflage the issue – of course as Smart Filters.
But usually the principle applies: s… in, s… out.
Although the image resolution is 300
That doesn't mean anything by itself.
A raster image file is made of pixels, nothing else. There is no "ppi" in the file itself, that only comes into the picture (no pun) when you print those pixels on paper. Then you need to know how big those pixels will be printed, so you assign a value for how many pixels per inch.
High ppi means it will print small. Low ppi means it will print bigger. But it's the same file.
Image quality is determined only by how many pixels there are. If there aren't many, it's poor quality no matter how high you assign the ppi value.
Well, if one goes deep one could also question the merit of the »increase quality of an image«-part.
Apart from somewhat subjective qualities like aesthetically pleasing color schemes and composition the improvement of the »quality« of an image is a dubious task as many edits will actually result in a loss of information – if that information was relevant or not could be difficult to judge.
Well, if one goes deep one could also question the merit of the »increase quality of an image«-part
Yes, I hadn't even started on that...