I lifted this from photo.net and have had success with it printing up to 11×14 with my 8 MP 30D.
Step #1 Change printing resolution without changing actual pixels.
With your image open, go to Image|Image Size. Make sure that Constrain Proportions” is checked and that Resample Image utilizes Bicubic interpolation. Ignore the Pixel Dimensions panel entirely. For Document Size, enter a Width of 100, and change the measurement box from inches (or whatever) to Percent. On the next line, leave Height unchanged. Constrain Proportions will automatically calculate this–very important if you are going to save this as an action. Enter your desired printing resolution: e.g., 240, 300, 360, etc.–and click OK. What you have done is to change your print resolution settings without actually affecting the pixels within the image. (This can be recorded as an action if you are going to do it frequently.)
Step #2 Perform a Stair Interpolation.
Perform exactly the same steps as above, but instead of 100% under width, enter 110%. Press Okay. What you have done is to increase your image size by 10%. (This can be recorded as an action if you are going to do it frequently.)
Step #3 Check the new dimensions of your image.
If you need to resize, repeat Step #2. Do this as many times as you need to get ALMOST to your final desired output. (If you commonly resize images by a given number of stairs, you can copy the action you made under #2 the required number of times, producing one action that takes all the stairs in progression.)
When almost at your final desired dimension, either perform one last resize or do your final reinterpolation through the crop tool, setting the final desired dimensions in the dialogue box. Be careful to leave your resolution where you set it in step #1. Either way, you can make this part of the master action you created in Step #3.