Give me a call when you're done doing that.
Give me a call when you've done that.
What's difference between the two meaning wise?
Are they both grammatically correct?
Do they both imply "Call me after you've finished doing that"?
refers to the task or action as one that will have taken a not inconsiderable amount of time to complete
refers to the completion of the action or task without reference to the amount time it will have taken, either because the task by its nature takes very little time, or because the speaker is not interested in the amount of time it will take.
Paint this picket fence, and let me know when you're done doing it, and I'll give you another chore to keep you out of trouble.
Turn off the lights, and when you've done that, go to bed.
Lets look at it without the contractions for clarity.
"Call when you have done that," is meant as a step in instructions. It is presumed that there is no discernible gap in time from task completion until the call.
"Call when you are done doing that" means you don't need to call before you are done, but you can do something else between the task and the call as long as the call occurs after the task.
The first would likely be used by a supervisor or trainer; the second, by a friend to coordinate schedules.
"Done doing" implies that your engagement in the task is done without implying that the task itself is complete. If shoveling the snow is a 3 day job, your wife might say "when you are done doing that, come in and get some hot chocolate." She doesn't mean you need to stay out there for 3 days, but rather, when you are done doing it [for now], you should get some hot chocolate.
"Have done" implies that the task is complete. Once you have done the shoveling, we also need to salt the sidewalk.
("Done doing" can also imply expected failure. You tell your wife that you're going to fix the sink. She might say "well when you're done doing that, I'll call the plumber." You didn't get the task done, but you're done doing it -- you've given up.)